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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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