O.A.S.I.S
~ Optimized Article Sorting Intelligent System ~
[ Website ] • [ GitHub ] [ Twitter ] • [ Official Blog ]
[!IMPORTANT] このリポジトリのリリースノートやREADME、コミットメッセージの9割近くはclaude.aiやChatGPT4を活用したAIRA, SourceSage, Gaiah, HarmonAI_IIで生成しています。
OASISは、MarkdownファイルからWordPress, Qiita, Note, Zennへの投稿を自動化するPythonパッケージです。
更新情報
- v0.8.0:
- StreamlitベースのWeb UIを追加しました。
- コマンドラインインターフェースを改善し、Streamlitアプリケーション起動オプションを追加しました。
- AI関連の新しいカテゴリとタグを追加しました。
- 詳しくはリリースノートをご覧ください。
過去の更新情報はこちら
- v0.7.0:
- Zennへのクロス投稿機能を追加しました。
- WordPressとNoteにおけるMermaid図のレンダリングに対応しました。
- 詳しくはリリースノートをご覧ください。
- v0.6.0:
- Zennへのクロス投稿機能を追加しました。
- WordPressとNoteにおけるMermaid図のレンダリングに対応しました。
- 詳しくはリリースノートをご覧ください。
- v0.5.0:
- リンクプレビュー生成機能にiframelyサポートを追加しました。(実験的機能)
- Note API v2では、HTMLを直接挿入することで、従来の方法よりも高速にコンテンツを投稿できるようになりました。
- 詳しくはリリースノートをご覧ください。
- v0.4.3: Noteへの投稿機能を大幅に改善しました。
- マークダウンのより多くの要素に対応しました。
- 詳しくはリリースノートをご覧ください。
- v0.4.0: Noteへのクロス投稿機能を追加しました。MarkdownファイルからNoteへの記事投稿を自動化し、複数のプラットフォームでコンテンツを簡単に共有できます。 詳しくはリリースノートをご覧ください。
- 過去のバージョン情報はこちら: Releases
デモ
CLI デモ
https://github.com/user-attachments/assets/742c5822-04ec-4f9b-98fb-42fc3a101ab6
Web UI デモ
https://github.com/user-attachments/assets/ff0a2099-dcd0-4fe5-b60b-ded3f2f55fe4
はじめに
OASISを使用すると、MarkdownファイルからWordPress, Qiita, Note, Zennへの投稿を効率的に行うことができます。LLMによる自動カテゴリ・タグ提案やサムネイル画像の自動アップロードなど、便利な機能が満載です。
インストール
pip install -U oasis-article
使用方法
コマンドラインから使用する場合:
oasis --folder_path /path/to/your/folder
オプション
--folder_path: 処理するフォルダのパス--qiita: Qiitaにも投稿する--note: Noteにも投稿する--wp: WordPressにも投稿する--zenn: Zennにも投稿する--wp-user: WordPressのユーザー名--wp-pass: WordPressのパスワード--wp-url: WordPressのURL--qiita-token: QiitaのAPIトークン--note-email: Noteのメールアドレス--note-password: Noteのパスワード--note-user-id: NoteのユーザーID--note-publish: Noteに公開投稿する(指定しない場合は下書き保存)--firefox-binary-path: Firefox の実行ファイルへのパス--firefox-profile-path: 使用する Firefox プロファイルへのパス--firefox-headless: Firefoxのヘッドレスモード--zenn-output-path: ZennAPI V2で記事ファイルを生成する出力フォルダ-app,--streamlit-app: StreamlitベースのWeb UIを起動する
例:
oasis --folder_path example\article\roomba01 --qiita --note --wp --zenn --firefox-headless
oasis --folder_path article_draft\21_Hunk --qiita --note --wp --zenn --firefox-headless
Pythonスクリプトから使用する場合:
from oasis import OASIS
oasis = OASIS()
result = oasis.process_folder("/path/to/your/folder", post_to_qiita=True, post_to_note=True, post_to_wp=True, post_to_zenn=True) # Qiita, Note, WordPress, Zennへの投稿も行う場合
print(result)
Web UIを使用する場合:
oasis -app
または
oasis --streamlit-app
設定
環境変数を使用して設定を行います: .env.exampleを参考にしてください。
AUTH_USER: WordPressのユーザー名AUTH_PASS: WordPressのパスワードBASE_URL: WordPressサイトのURLLLM_MODEL: 使用するLLMモデル(デフォルト: "gemini/gemini-1.5-pro-latest")QIITA_TOKEN: QiitaのAPIトークン(Qiitaへの投稿を行う場合に必要)NOTE_EMAIL: Noteのアカウントに関連付けられたメールアドレスNOTE_PASSWORD: NoteアカウントのパスワードNOTE_USER_ID: NoteのユーザーIDFIREFOX_BINARY_PATH: Firefox の実行ファイルへのパス (任意)FIREFOX_PROFILE_PATH: 使用する Firefox プロファイルへのパス (任意)
サンプルスクリプト
example/scriptフォルダには、OASISの様々な機能を試すためのサンプルスクリプトが用意されています。
demo_note_api.py: Note API v1を使用してNoteに記事を投稿するサンプルスクリプトdemo_note_api_v2.py: Note API v2を使用してNoteに記事を投稿するサンプルスクリプトdemo_qiita_api.py: Qiita APIを使用してQiitaに記事を投稿するサンプルスクリプトdemo_url2card.py: URLからWebサイトカードを生成するサンプルスクリプト
これらのスクリプトは、OASISの機能を理解し、実際に試してみるための良い出発点となります。
ZennAPI V2 について
ZennAPI V2 は、Zenn と GitHub の連携を活用して動作します。 --zenn-output-path オプションで指定したフォルダに、Zenn の記事ファイル (.md) を生成します。 生成された記事ファイルを GitHub リポジトリにプッシュすると、Zenn 上で記事が公開されます。
コントリビューション
OASISの開発にご協力いただける方は、GitHubリポジトリにアクセスしてください。Issue報告、プルリクエストをお待ちしております。
ライセンス
このプロジェクトはMITライセンスの下で公開されています。
謝辞
OASISの開発にあたり、多大な貢献をしていただいた方々に感謝申し上げます。
- Note APIの開発は Mr-SuperInsane/NoteClient を参考にさせていただきました。
Release files for oasis-article 0.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| oasis_article-0.9.2.tar.gz | 36.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| oasis_article-0.9.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 79.8 kB
Release files / oasis_article-0.9.2.tar.gz
| Download URL | oasis_article-0.9.2.tar.gz |
|---|---|
| Size | 36.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd693fad4380da47c226ee54903ad2c707fbe8ac9611cd88aa927716e321ff8d
|
|
BLAKE2b-256 checksum How to use checksums |
606d9222117abab595472f5ef96a1807841ec1e8a53dc885444cf80736afb61c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / oasis_article-0.9.2-py3-none-any.whl
| Download URL | oasis_article-0.9.2-py3-none-any.whl |
|---|---|
| Size | 43.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd1f54d7f385d600e0d7cc8388b5758e3f5232e4b6fc429b1a3e91861971b48e
|
|
BLAKE2b-256 checksum How to use checksums |
58c47ad5d3993f62a126cf041424fc165a7266cd9447dd3f0b65056bc0fcc7cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|