この拡張機能を使用すると、Flaskアプリに簡単なフロントエンドセクションを追加できます。すべての記事は、JSON APIを介してCanonicalのWordPressバックエンドから引き出されます。
この拡張機能は、3つのルートを備えた青写真を提供します。
プロジェクトの要件としてこの拡張機能をインストールするには、PIPを使用できます。
pip3 install canonicalwebteam.blogPIPインストールのドキュメントも参照してください。
ローカル開発のために、ubuntu.comのようなウェブサイトプロジェクトの1つでこのモジュールをテストするのが最善です。詳細については、このガイド(内部のみ)をフォローしてください。
このモジュールは、 blog/index.html 、 blog/article.html 、 blog/blog-card.html 、 blog/archives.html 、 blog/upcoming.html 、 blog/author.htmlでHTMLテンプレートを期待しています。
これらのテンプレートの例は、https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blogにあります。
アプリでは、次のことを行うことができます。
import flask
import talisker . requests
from flask_reggie import Reggie
from canonicalwebteam . blog import BlogViews , build_blueprint , BlogAPI
app = flask . Flask ( __name__ )
Reggie (). init_app ( app )
session = talisker . requests . get_session ()
blog = build_blueprint (
BlogViews (
api = BlogAPI ( session = session ),
)
)
app . register_blueprint ( blog , url_prefix = "/blog" )次のオプションの引数を使用してブログをカスタマイズできます。
blog = build_blueprint (
BlogViews (
blog_title = "Blog" ,
blog_path = "blog" ,
tag_ids = [ 1 , 12 , 112 ],
exclude_tags = [ 26 , 34 ],
per_page = 12 ,
feed_description = "The Ubuntu Blog Feed" ,
api = BlogAPI (
session = session ,
use_image_template = True ,
thumbnail_width = 330 ,
thumbnail_height = 185 ,
),
)
)すべてのテストは./setup.py testで実行できます。
すべてのAPI呼び出しはVCRでキャッチされ、 fixturesディレクトリのFIXTURESとして保存されます。 APIが更新された場合、 fixturesディレクトリを削除してテストを再実行するだけで、すべてのフィクスチャーを簡単に更新できます。
これを行うにはrm -rf fixtures && ./setup.py testを実行します。