Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laughk/tinker2pelican-rst
https://github.com/laughk/tinker2pelican-rst
Last synced: 25 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/laughk/tinker2pelican-rst
- Owner: laughk
- Created: 2014-08-11T03:52:37.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-08-11T05:11:08.000Z (over 10 years ago)
- Last Synced: 2024-11-30T22:27:21.522Z (25 days ago)
- Language: Python
- Size: 121 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
tinker2pelican-rst
===========================[Tinkerer](http://tinkerer.me) から [Pelican](https://github.com/getpelican/pelican) に移行する際に、
ReSTの方言を修正して、画像ファイルを移動するスクリプトです。Description
-------------------------------------作者が実際に移行するためにかなりやっつけで作ったため、本当に最低限の事しかできないです。
スクリプトを実行する際のカレントディレクトリ配下でファイルパスが `content/201*/MM/DD/.rst` に該当するもの全てに対して以下の書き込みをします。**移動ではなく直接変換処理を行うのでご注意を**
* `author` ディレクティブを削除
* `categories`, `tags`, `comments` ディレクティブをオプションに変更し、ファイル3行目のところまで移動
* `.. more::` ディレクティブを `.. PELICAN_END_SUMMARY` に変換。
* 画像ファイルのパスと配置を修正
* `.. image:: hoge.png` => `..image:: /images/YYYY/MM/DD/hoge.png` に変換
* `content/YYYY/MM/DD` 配下にpng, jpg ファイルがある場合は `images/YYYY/MM/DD` 配下に移動Requirement
----------------------
### スクリプトの動作環境以下の環境で動作の確認が取れています。
* python 2.7.8
### 変換後のpelicanの設定
* 変換後のReSTファイルは `summary` プラグインが必要
* 画像ファイルを `/path/to/pelican/content/images/YYYY/MM/DD` 配下に移動するので `STATIC_PATH` の設定が必要
* 必要な場合はTinkererと同様に `content/YYYY/MM/DD/filename.rst` でメタデータを認識するように設定変更### 手順
* pluginの導入
```sh
% cd /path/to/pelican
% git clone https://github.com/getpelican/pelican-plugins.git% vim pelicanconf.py
```* `pelicanconf.py` 追記内容
```python
## ファイルパスからメタデータの設定
# ----------------------------------------
USE_FOLDER_AS_CATEGORY = False
## Tinkerer 同様にファイルパスから日付、HTMLファイル名を取得
PATH_METADATA = '(?P\d{4}/\d{2}/\d{2})/(?P[^.]+).*'
## HTML生成時の出力先とURL
ARTICLE_URL = '{date:%Y}/{date:%m}/{date:%d}/{slug}.html'
ARTICLE_SAVE_AS = '{date:%Y}/{date:%m}/{date:%d}/{slug}.html'## 画像ファイル向け
# ----------------------------------------
STATIC_PATHS = [ ..., 'images', ]
EXTRA_PATH_METADATA = { 'images': { 'path': 'images' } }## プラグイン追加
# ----------------------------------------
PLUGIN_PATHS = [ 'pelican-plugins' ]
PLUGINS = [ ..., 'summary' ]
```Usage
----------------------```sh
% cd /path/to/pelican
% cp -R /path/to/tinkerer/201* content/% python tinker2pelican.py
```