@riebeckite/plugin-backlinks 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,8 +7,12 @@ current note.
7
7
 
8
8
  [日本語](./README_ja.md)
9
9
 
10
+ ## Live example
11
+
12
+ Open [Backlink](/docs/glossary/backlink) to see the rendered Backlinks section at the bottom of an article that other pages link to.
13
+
10
14
  ## Recommended placement
11
- `backlinksPlugin()` provides a `getBacklinks({ view, slug })` helper that returns
15
+ `backlinks()` provides a `getBacklinks({ view, slug })` helper that returns
12
16
  `readonly ArticleBacklink[]` (`{ slug, permalink, title }`) and a `<Backlinks
13
17
  backlinks={...} />` component that renders a `<footer class="rr-backlinks">` with
14
18
  an eyebrow label and a list of links. The Site places the `<Backlinks />`
@@ -23,15 +27,15 @@ renders nothing.
23
27
 
24
28
  ```ts
25
29
  import { defineConfig } from "@riebeckite/core";
26
- import { backlinksPlugin } from "@riebeckite/plugin-backlinks";
30
+ import { backlinks } from "@riebeckite/plugin-backlinks";
27
31
 
28
32
  export default defineConfig({
29
33
  // ...
30
- plugins: [backlinksPlugin()],
34
+ plugins: [backlinks()],
31
35
  });
32
36
  ```
33
37
 
34
- `backlinksPlugin()` adds backlinks for every public entry with published
38
+ `backlinks()` adds backlinks for every public entry with published
35
39
  incoming links and bundles `style.css` into the app stylesheet. Render
36
40
  `<Backlinks backlinks={getBacklinks({ view, slug })} />` once in the article
37
41
  layout to display it. The official Starter already renders this component.
@@ -58,7 +62,7 @@ return (
58
62
 
59
63
  ## Configuration
60
64
 
61
- There are no plugin options for `backlinksPlugin`. The `Backlinks` component
65
+ There are no plugin options for `backlinks`. The `Backlinks` component
62
66
  accepts `backlinks` as a required prop.
63
67
 
64
68
  ## Component
@@ -68,7 +72,7 @@ an eyebrow label and a list of links to each backlink's resolved `permalink`.
68
72
 
69
73
  ## Exports
70
74
 
71
- - `backlinksPlugin()` — plugin factory
75
+ - `backlinks()` — plugin factory
72
76
  - `Backlinks` — list component (default export of `components/backlinks.tsx`)
73
77
  - `getBacklinks({ view, slug })` — resolves published backlinks for a slug
74
78
  (`{ slug, permalink, title }` each)
package/README_ja.md CHANGED
@@ -2,31 +2,35 @@
2
2
 
3
3
  <!-- Generated from docs/docs/plugins/backlinks.ja.md. Edit the canonical documentation in docs/docs/plugins and run `pnpm docs:sync`. -->
4
4
 
5
- 現在の記事を参照している公開済みノートを、記事末尾に表示するためのプラグインです。
5
+ 現在の記事を参照している公開済みノートを一覧表示するプラグインです。
6
6
 
7
7
  [English](./README.md)
8
8
 
9
+ ## 実行例
10
+
11
+ [Backlink](/ja/docs/glossary/backlink) を開くと、他のページからリンクされている記事の末尾に、Backlinks セクションが描画されています。
12
+
9
13
  ## 推奨配置
10
14
 
11
- `backlinksPlugin()` はコンテンツマニフェストから被リンクを集め、公開対象のノートだけをマニフェスト順で `<Backlinks backlinks={getBacklinks({ view, slug })} />` へ渡します。物理的な配置は Site が所有し、通常は記事本文の後でこのコンポーネントを一度描画します。`Backlinks` コンポーネントはその結果をリンク一覧として描画します。表示対象がなければ何も出力しません。
15
+ `backlinks()` はコンテンツマニフェストから被リンクを解決する `getBacklinks({ view, slug })` と、その結果を描画する `<Backlinks backlinks={...} />` コンポーネントを提供します。`getBacklinks()` は公開対象のノートだけを残し、マニフェスト順で返します。`Backlinks` は受け取った一覧をリンク集として描画し、表示対象がなければ何も出力しません。配置はサイト側が担当し、通常は記事本文の後でこのコンポーネントを一度描画します。
12
16
 
13
17
  ## クイックスタート
14
18
 
15
19
  ```ts
16
20
  import { defineConfig } from "@riebeckite/core";
17
- import { backlinksPlugin } from "@riebeckite/plugin-backlinks";
21
+ import { backlinks } from "@riebeckite/plugin-backlinks";
18
22
 
19
23
  export default defineConfig({
20
24
  // ...
21
- plugins: [backlinksPlugin()],
25
+ plugins: [backlinks()],
22
26
  });
23
27
  ```
24
28
 
25
- プラグインは公開済みの被リンクがある記事へ自動的に出力を追加します。記事レイアウトで `<Backlinks backlinks={getBacklinks({ view, slug })} />` を一度描画してください。公式 Starter はこのコンポーネントをすでに描画しています。
29
+ プラグインを有効にすると、公開済みの被リンクがある記事で `getBacklinks()` が一覧を返すようになります。記事レイアウトで `<Backlinks backlinks={getBacklinks({ view, slug })} />` を一度描画してください。公式 Starter はこのコンポーネントをすでに描画しています。
26
30
 
27
31
  ## 高度なカスタマイズ
28
32
 
29
- アプリ側で表示位置を決める場合は、`getBacklinks({ view, slug })` を呼び出してデータを取得し、 `<Backlinks backlinks={...} />` コンポーネントを一度だけ描画してください。データの生成と公開境界のフィルタリングは維持されます。
33
+ アプリ側で表示位置を決める場合は、`getBacklinks({ view, slug })` を呼び出してデータを取得し、`<Backlinks backlinks={...} />` コンポーネントを一度だけ描画してください。被リンクのデータと公開範囲のフィルタリングは変わりません。
30
34
 
31
35
  ```tsx
32
36
  import Backlinks, { getBacklinks } from "@riebeckite/plugin-backlinks";
@@ -37,18 +41,18 @@ const items = getBacklinks({ manifest, config, slug, resolveTitle });
37
41
  return <Article footerContent={<Backlinks backlinks={items} />} />;
38
42
  ```
39
43
 
40
- 手動配置を消すにはコンポーネントを消します。自動描画を有効にしたまま同じコンポーネントを描画すると重複します。
44
+ `<Backlinks />` を複数回描画すると、同じ一覧が重複して表示されます。
41
45
 
42
46
  ## 設定
43
47
 
44
- `backlinksPlugin()` にはプラグイン用のオプションがありません。`Backlinks` コンポーネントは `backlinks` 必須プロップを受け取ります。
48
+ `backlinks()` にはプラグイン用のオプションがありません。`Backlinks` コンポーネントは `backlinks` 必須プロップを受け取ります。
45
49
 
46
50
  ## 公開 API
47
51
 
48
- - `backlinksPlugin()`:プラグインファクトリ
52
+ - `backlinks()`:プラグインファクトリ
49
53
  - `Backlinks`:被リンク一覧コンポーネント
50
54
  - `getBacklinks({ view, slug })`:公開済みの被リンクを解決する関数
51
- - `ArticleBacklink`:`{ slug, permalink, title }` の型。`permalink` は解決済みの canonical URL
55
+ - `ArticleBacklink`:`{ slug, permalink, title }` の型。`permalink` は解決済みの正規 URL
52
56
 
53
57
  ## 関連資料
54
58
 
package/dist/index.d.ts CHANGED
@@ -3,4 +3,4 @@ export { default as Backlinks } from "./components/backlinks.js";
3
3
  export type { ArticleBacklink } from "./src/backlinks.js";
4
4
  export { getBacklinks, getPublishedBacklinks } from "./src/backlinks.server.js";
5
5
  export type BacklinksOptions = Record<never, never>;
6
- export declare function backlinksPlugin(options?: BacklinksOptions): import("@riebeckite/core").RiebeckitePlugin<BacklinksOptions>;
6
+ export declare function backlinks(options?: BacklinksOptions): import("@riebeckite/core").RiebeckitePlugin<BacklinksOptions>;
package/dist/index.js CHANGED
@@ -33,17 +33,17 @@ import { jsx, jsxs } from "hono/jsx/jsx-runtime";
33
33
  var Backlinks = (async (props) => {
34
34
  const site = useSiteContext();
35
35
  const article = useArticleContext();
36
- const backlinks = props.backlinks ?? (site && article?.entry ? await getBacklinks({ view: site.view, slug: article.entry.slug }) : void 0);
37
- if (!backlinks || backlinks.length === 0) return html``;
36
+ const backlinks2 = props.backlinks ?? (site && article?.entry ? await getBacklinks({ view: site.view, slug: article.entry.slug }) : void 0);
37
+ if (!backlinks2 || backlinks2.length === 0) return html``;
38
38
  return /* @__PURE__ */ jsxs("footer", { class: "rr-backlinks", children: [
39
39
  /* @__PURE__ */ jsx("p", { class: "rr-backlinks__eyebrow", children: "Backlinks" }),
40
- /* @__PURE__ */ jsx("ul", { class: "rr-backlinks__list", children: backlinks.map((backlink) => /* @__PURE__ */ jsx("li", { class: "rr-backlinks__item", children: /* @__PURE__ */ jsx("a", { class: "rr-backlinks__link", href: backlink.permalink, children: backlink.title }) }, backlink.slug)) })
40
+ /* @__PURE__ */ jsx("ul", { class: "rr-backlinks__list", children: backlinks2.map((backlink) => /* @__PURE__ */ jsx("li", { class: "rr-backlinks__item", children: /* @__PURE__ */ jsx("a", { class: "rr-backlinks__link", href: backlink.permalink, children: backlink.title }) }, backlink.slug)) })
41
41
  ] });
42
42
  });
43
43
  var backlinks_default = Backlinks;
44
44
 
45
45
  // index.ts
46
- function backlinksPlugin(options = {}) {
46
+ function backlinks(options = {}) {
47
47
  return definePlugin({
48
48
  name: "backlinks",
49
49
  order: 500,
@@ -59,7 +59,7 @@ function backlinksPlugin(options = {}) {
59
59
  }
60
60
  export {
61
61
  backlinks_default as Backlinks,
62
- backlinksPlugin,
62
+ backlinks,
63
63
  getBacklinks,
64
64
  getPublishedBacklinks
65
65
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riebeckite/plugin-backlinks",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,13 +21,13 @@
21
21
  "./style.css": "./style.css"
22
22
  },
23
23
  "dependencies": {
24
- "hono": "^4.12.25",
25
- "@riebeckite/core": "0.0.31",
26
- "@riebeckite/ui": "0.0.31"
24
+ "@riebeckite/core": "0.0.33",
25
+ "@riebeckite/ui": "0.0.33",
26
+ "hono": "^4.12.25"
27
27
  },
28
28
  "devDependencies": {
29
- "tsx": "^4.22.4",
30
- "@riebeckite/test": "0.0.31"
29
+ "@riebeckite/test": "0.0.33",
30
+ "tsx": "^4.22.4"
31
31
  },
32
32
  "publishConfig": {
33
33
  "access": "public"