GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

rochacbruno

quokka – Quokkaは、Flask、TinyDB、MongoDB、およびPelicanのテーマに基づいた小さなCMF(コンテンツ管理フレームワーク)で..

投稿日:

Quokkaは、Flask、TinyDB、MongoDB、およびPelicanのテーマに基づいた小さなCMF(コンテンツ管理フレームワーク)です 。http: //www.quokkaproject.org

クォッカ

世界で最も幸せなCMF

Quokkaは、Pythonで書かれたコンテンツ管理フレームワークです。

CMS(コンテンツ管理システム)をウェブサイト、ポータル、ブログ、アプリケーション、およびWebにコンテンツを公開することに関連するものとして構築するための軽量フレームワーク。

QuokkaはCMS領域に限定されず、Quokka拡張を作成して、PythonとFlaskに基づくあらゆる種類のWebアプリケーションを提供することもできます。

Quokkaは、管理インターフェイスで生成されたコンテンツから静的なWebサイトを生成することもできます(オプション)。

機能(一部は実装されている)

  • Webベースのコンテンツ管理管理インターフェース
  • 複数のコンテンツフォーマット(markdown、最初、html、平文)
  • ペリカンのテーマとの互換性
  • フラットファイルNoSQLデータベーススケールデプロイメント用のTinyDBまたはオプションでMongoDB
  • Quokkaをサーバーにホストするか、 静的な Webサイトを生成する
  • モジュール/プラグイン経由で拡張可能
  • Powered by Python、Flask、Flask-Admin、TinyMongo、Pelicanのテーマ

クイックスタート

注:QuokkaCMSにはPython 3.6以降が必要です

開発モードでのインストールと実行

これは1.0.0がリリースされていないときに推奨される方法です

git clone https://github.com/rochacbruno/quokka
cd quokka
python3 -m venv venv
. venv/bin/activate
make install
make adduser
make devserver

http:// localhost:5000http:// localhost:5000 / adminquokka/project_template/quokka.ymlquokka/project_template/quokka.ymlを編集してコードをハッキングしてください!

PyPIからQuokkaをインストールする

1.0.0がリリースされるまでは安定しないかもしれません

python3 -m venv venv
. venv/bin/activate
pip3 install quokka

プロジェクトを開始する

$ quokka init NewWebsite --theme=flex --modules=gitpages,heroku
...
🐹 Quokka project created 🐹
📝 Name: NewWebsite
📁 Location: /tmp/newwebsite
📚 Template: default
🎨 Themes: flex theme installed
🚚 Modules: [gitpages, heroku] installed
🔧 Config: Config file written in /tmp/newwebsite/quokka.yml
➡ Go to /tmp/newwebsite
⚙ run `quokka runserver` to start!
📄 Check the documentation on http://quokkaproject.org
🐹 Happy Quokka! 🐹

はい! それはemojisを出力します 🐹

上記のコマンドは、プロジェクトをmyprojectフォルダに生成します:

.
├── databases        # TinyDB database files (gitignored)
├── modules          # Custom modules to load on EXTRA_EXTENSIONS
├── static_build     # output static site
├── themes           # Front-end Themes (Pelican and Quokka Themes supported)
├── uploads          # Media uploaded via admin
├── .gitignore       # gitignore to exclude sensitive files
├── quokka.yml       # Project settings
├── .secrets.yml     # To store keys, tokens and passwords (gitignored)
└── wsgi.py          # To deploy `gunicorn wsgi:app`

オプションで引数を渡すことができます:

既存のテーマを選択する(デフォルトはモルト

quokka init mywebsite --theme http://github.com/user/theme

モジュールのインストール

quokka init mywebsite --theme http://github.com/user/theme --modules="commerce,foo"

上のquokka_fooでは、PyPIでquokka_commercequokka_foo探してインストールしています

重要な設定を設定する

quokka init mywebsite --theme http://github.com/user/theme --config="auth_enabled=false"

これはオプションで、 quokka.ymlを編集して設定を調整することができます。

管理者ユーザーを作成する

quokka adduser

あなたのウェブサイトを走らせる

quokka runserver --port 5000

アクセス管理インターフェース

http:// localhost:5000 / admin

あなたのサイトにアクセスする

http:// localhost:5000

導入

Quokka WebサイトをWSGIサーバーに展開できます

wsgi.pyを確認し、wsgiサーバーにデプロイする際に参照してください。

cd myproject
gunicorn wsgi:app -w 4 -b "0.0.0.0:8000"

supervisord設定の例

[program:quokka]
command=/myproject/venv/bin/gunicorn wsgi:app -w 4 -b "0.0.0.0:8000"
directory=/myproject

詳細については、 Gunicornのドキュメントを参照してください

静的HTMLウェブサイトを公開する

:静的なWebサイトを生成するには、すべてのユーザー管理、キー、およびパスワードが設定から削除されます。

静的なHTML Webサイトを生成して、どこでもホストすることができます

あなたのウェブサイトをローカルで走らせると、そこから静的なHTMLウェブサイトを簡単に生成することができます。

$ quokka publish --static [--output path]
Generating static HTML website on ./static_build folder

./static_buildフォルダに静的なWebサイトが設定されたら、SCP、FTP、またはgitを使用して展開できます。完全静的なWebサイトです。

コマンドラインからページをgithubにデプロイする

注:githubにsshキーでアクセスするか、ログイン/パスワードを尋ねる必要があります

quokka publish --static --git=rochacbruno/mysite --branch=gh_pages

上記は管理者の ‘公開’メニューでも利用できます。

SCP経由での展開

quokka publish --static --scp --dest='me@hostname:/var/www/mysite' [--sshkey ~/.ssh/key] [--password xyz]
password : ...

Herokuへの展開

これはherokuクライアントがインストールされている必要がherokuますProcfileが見つからない場合は生成されます

quokka publish --static --heroku --options

FTPによる展開

quokka publish --static --ftp --host='ftp://server.com' --dest='/var/www/mysite'

リモート展開からデータベースをロードする(TinyDBのみ)

静的ファイルと一緒に静的Webサイトを公開すると、データベースはバックアップ/スナップショットとしてのみデータベース/フォルダの下のサーバーにも移動します。

そのリモートデータベースをローカルにロードすることができます。たとえば、新しい投稿を追加してから再公開する

quokka restoredb --remote --git=rochacbruno/mysite
Creating a backup of local database...
Downloading remote database
Restoring database..
Done...

quokka runserverを実行すると、 localhost:5000/admin開きますquokka runserver localhost:5000/admin新しい内容を書き込んだ後、コマンドラインまたは管理インターフェースを使用してもう一度ウェブサイトをPublishます。

注:ローカルデータベースを復元する場合は、 – localおよび--path path/to/db使用します。

MongoDBの使用

TinyDBの代わりにMongoDBを使うこともできます。これは、複数の管理者を同時に配備する場合や、MongoDBのみをサポートするプラグインをインストールする場合に便利です(集約とグリッドに依存しているため)

実行中のMongoサーバのインスタンスを必要とし、プロジェクトのquokka.yml:DBquokka.yml:DBから変更してください:

quokka:
  DB:
    system: tinydb
    folder: databases

に:

quokka:
  DB:
    system: mongodb
    name: my_database
    host: 127.0.0.1
    port: 2600

次にquokka実行すると、そのMongo Serverに接続しようとします。

これを使用すると、サイトをwsgiサーバーにデプロイすることも、 static Webサイトを生成することもできます。

Dockerコンテナでのmongoの実行

cd your_quokka_project_folder
docker run -d -v $PWD/databases:/data/db -p 27017:27017 mongo
# wait some seconds until mongo is started
quokka runserver

Quokka CMS開発に貢献する

このオープンソースプロジェクトに参加したいですか?

寄付ガイドラインをご覧ください

投稿者環境を設定する

Python3.6+このリポジトリをforkしていることを確認してください。

git clone https://github.com/$YOURNAME/quokka
cd quokka

# create a Python3.6 virtual env
make create_env

# activate the venv
. venv/bin/activate

# install Quokka in --editable mode (using pbr)
make install

# Create a new admin user
make adduser

# run quokka
make devserver

http:// localhost:5000 / adminhttp:// localhostにアクセスします。

ロードマップ

このリストは、 https://github.com/rochacbruno/quokka/issuesで入手できます

これは、 1.0.0がリリースされるまで完了するタスクのリストです。 maltbootstrap3テーマにのみ100%対応

スクリーンショット

メインの管理ページ

ペリカンのテーマに対応

麦芽のテーマで表示される記事

ブートストラップ3テーマを使用した同じ記事

スクリーンショットの詳細はhttps://github.com/rochacbruno/quokka/issues/647をご覧ください

今すぐ寄付を始めよう!







-rochacbruno
-, , , , , , , , , , ,

執筆者: