Skip to main content

WordPressへの投稿を自動化するパッケージ

Project description


O.A.S.I.S

~ Optimized Article Sorting Intelligent System ~
PyPI - Version PyPI - Format PyPI - Implementation PyPI - Status PyPI - Downloads PyPI - Downloads GitHub Repo stars forks - Sunwood-ai-labs GitHub Last Commit GitHub Top Language GitHub Release GitHub Tag GitHub Actions Workflow Status

[ Website ][ GitHub ] [ Twitter ][ Official Blog ]

[!IMPORTANT] このリポジトリのリリースノートやREADME、コミットメッセージの9割近くはclaude.aiChatGPT4を活用した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サイトのURL
  • LLM_MODEL: 使用するLLMモデル(デフォルト: "gemini/gemini-1.5-pro-latest")
  • QIITA_TOKEN: QiitaのAPIトークン(Qiitaへの投稿を行う場合に必要)
  • NOTE_EMAIL: Noteのアカウントに関連付けられたメールアドレス
  • NOTE_PASSWORD: Noteアカウントのパスワード
  • NOTE_USER_ID: NoteのユーザーID
  • FIREFOX_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の開発にあたり、多大な貢献をしていただいた方々に感謝申し上げます。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oasis_article-0.9.2.tar.gz (36.2 kB view details)

Uploaded Source

Built Distribution

oasis_article-0.9.2-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

File details

Details for the file oasis_article-0.9.2.tar.gz.

File metadata

  • Download URL: oasis_article-0.9.2.tar.gz
  • Upload date:
  • Size: 36.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for oasis_article-0.9.2.tar.gz
Algorithm Hash digest
SHA256 dd693fad4380da47c226ee54903ad2c707fbe8ac9611cd88aa927716e321ff8d
MD5 53888b3dad880a2999492c8eda84fba4
BLAKE2b-256 606d9222117abab595472f5ef96a1807841ec1e8a53dc885444cf80736afb61c

See more details on using hashes here.

File details

Details for the file oasis_article-0.9.2-py3-none-any.whl.

File metadata

File hashes

Hashes for oasis_article-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dd1f54d7f385d600e0d7cc8388b5758e3f5232e4b6fc429b1a3e91861971b48e
MD5 8ab5192d7b1241d0a926b414da313f6d
BLAKE2b-256 58c47ad5d3993f62a126cf041424fc165a7266cd9447dd3f0b65056bc0fcc7cc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page