An open API service indexing awesome lists of open source software.

https://github.com/pickles2/px2-blog-kit


https://github.com/pickles2/px2-blog-kit

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# pickles2/px2-blog-kit

`pickles2/px2-blog-kit` は、 Pickles 2 にブログ管理機能を追加します。

## 導入手順 - Setup

### 1. composer.json に pickles2/px2-blog-kit を追加

```bash
$ composer require pickles2/px2-blog-kit;
```

### 2. config.php に、プラグインを設定

設定ファイル `config.php` (通常は `./px-files/config.php`) を編集します。
`before_content` の先頭に設定を追加します。

```php
funcs->before_content = array(

// BlogKit
\pickles2\px2BlogKit\register::blog( array(
"blogs" => array(
"articles" => array( // ブログID
"orderby" => "update_date", // 並べ替えに使用するカラム名
"scending" => "desc", // 並び順 (昇順 asc or 降順 desc)
"logical_path" => "/articles/{*}", // パンくず (サイトマップCSV上での記法と同じ)
),
),
) ),

);
```

### 3. ブログのリストを作成

`./px-files/blogs/` ディレクトリを作成し、ブログ記事一覧を配置します。

ブログ記事一覧は `${ブログID}.csv` の名前で作成します。
ブログIDを `articles` とした場合、 `articles.csv` になります。

CSVの記法は、サイトマップCSVと同じですが、 `id` 列、 `logical_path` 列 は含めないようにしてください。

次に示すのは、ブログCSVの記述例です。

```csv
"* title","* path","* release_date","* update_date","* article_summary","* article_keywords"
"サンプルブログページ3のタイトル","/articles/2023/03/18/samplepage_3/","2023-03-18","2023-03-18",,
"サンプルブログページ2のタイトル","/articles/2023/03/17/samplepage_2/","2023-03-17","2023-03-17",,
"サンプルブログページ1のタイトル","/articles/2023/03/16/samplepage_1/index.html","2023-03-16","2023-03-16",,
```

最新の `px2-sitemapexcel` プラグインを導入すると、 Excel 形式で編集できて便利です。

### 4. コンテンツを作成する

サイトマップに記載する通常のコンテンツと同様に、 `path` に設定したパスにコンテンツファイルを設置してください。

### 5. Blog Kit モジュールを使用して、記事一覧ページを作成する

Broccoli モジュール `Blog Kit` が同梱されています。
このモジュールには、ブログの一覧ページを作成するモジュールが含まれています。
これを使って、一覧ページを作成します。

#### 5-1. サイトマップCSVに一覧ページを追加する

一覧ページは、 プラグインオプションの `logical_path` に指定した親ページとなっているのが理想的です。

例えば `path` を `/articles/{*}` とします。
末尾についている `{*}` は、一覧ページのページネーションを処理するために必要です。

#### 5-2. 一覧ページのコンテンツに、記事一覧モジュールを配置する

配置したモジュールで、ブログID、ページあたりの記事件数、ページネーションのサイズ、並び順のキー、昇順/降順、リストページID を設定します。

ここで指定する ブログID は、 ブログCSVのファイル名の拡張子を含まない部分(例: `articles`) です。

### 6. RSSの出力設定

設定ファイル `config.php` (通常は `./px-files/config.php`) を編集します。
`before_output` の任意の位置に設定を追加します。

```php
funcs->before_output = array(

// BlogKit: RSS出力
\pickles2\px2BlogKit\register::feeds( array(
"path_trigger" => "/",
"blog_id" => "articles",
"orderby" => "update_date",
"scending" => "desc",
'dpp' => 10,
'lang' => 'ja',
'scheme' => 'https',
'domain' => 'yourdomain.com',
'title' => 'test list 1',
'description' => 'TEST LIST',
'url_home' => 'https://yourdomain.com/',
'url_index' => 'https://yourdomain.com/listsample/',
'author' => 'Tomoya Koyanagi',
'dist' => array(
'atom-1.0' => '/rss/atom0100.xml',
'rss-1.0' => '/rss/rss0100.rdf',
'rss-2.0' => '/rss/rss0200.xml',
),
) ),

);
```

## PXコマンド

### `PX=blogkit.api.get_blog_list`

ブログの一覧を取得する。

### `PX=blogkit.api.get_article_list`

ブログ記事の一覧を取得する。

### `PX=blogkit.api.get_article_info`

ブログ記事の情報を取得する。

### `PX=blogkit.api.get_blogmap_definition`

ブログマップの列定義を取得する。

### `PX=blogkit.api.get_sitemap_definition`

サイトマップの列定義を取得する。

### `PX=blogkit.api.create_new_blog`

新しいブログを作成する。

### `PX=blogkit.api.delete_blog`

ブログを削除する。

### `PX=blogkit.api.create_new_article`

新しいブログ記事を追加する。

### `PX=blogkit.api.update_article`

ブログ記事情報を更新する。

### `PX=blogkit.api.delete_article`

ブログ記事を削除する。

## 更新履歴 - Change log

### pickles2/px2-blog-kit v0.2.1 (2025年7月29日)

- ブログマップ項目定義を改善した。

### pickles2/px2-blog-kit v0.2.0 (2025年5月9日)

- PXコマンド `PX=blogkit.api.get_blog_list`, `PX=blogkit.api.get_article_list`, `PX=blogkit.api.get_article_info`, `PX=blogkit.api.get_blogmap_definition`, `PX=blogkit.api.get_sitemap_definition`, `PX=blogkit.api.create_new_blog`, `PX=blogkit.api.delete_blog`, `PX=blogkit.api.create_new_article`, `PX=blogkit.api.update_article`, `PX=blogkit.api.delete_article` を追加。
- リストテンプレートのデザインを修正。
- その他、内部コードの修正、エラー処理の改善など。

### pickles2/px2-blog-kit v0.1.3 (2024年2月18日)

- Markdownの記事からサムネイルを正しく抽出できない不具合を修正。
- 記事サマリのエスケープ処理が不適切な不具合を修正。

### pickles2/px2-blog-kit v0.1.2 (2023年8月29日)

- 記事情報編集のバリデーション機能を改善した。

### pickles2/px2-blog-kit v0.1.1 (2023年5月1日)

- Broccoliモジュールに README を追加。
- プラグイン `\pickles2\px2BlogKit\register::feeds` を追加。

### pickles2/px2-blog-kit v0.1.0 (2023年4月22日)

- Initial Release

## ライセンス - License

MIT License https://opensource.org/licenses/mit-license.php

## 作者 - Author

- Tomoya Koyanagi
- website:
- Twitter: @tomk79