Ekstensi ini memungkinkan Anda untuk menambahkan bagian frontend sederhana ke aplikasi Flask Anda. Semua artikel ditarik dari backpress WordPress Canonical melalui JSON API.
Ekstensi ini memberikan cetak biru dengan 3 rute:
Untuk menginstal ekstensi ini sebagai persyaratan dalam proyek Anda, Anda dapat menggunakan PIP;
pip3 install canonicalwebteam.blogLihat juga dokumentasi untuk pemasangan PIP.
Untuk pengembangan lokal, yang terbaik adalah menguji modul ini dengan salah satu proyek situs web kami seperti ubuntu.com. Untuk informasi lebih lanjut, ikuti panduan ini (hanya internal).
Modul ini mengharapkan templat HTML di blog/index.html , blog/article.html , blog/blog-card.html , blog/archives.html , blog/upcoming.html dan blog/author.html .
Contoh templat ini dapat ditemukan di https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
Di aplikasi Anda, Anda kemudian dapat melakukan hal berikut:
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" )Anda dapat menyesuaikan blog melalui argumen opsional berikut:
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 ,
),
)
) Semua tes dapat dijalankan dengan ./setup.py test .
Semua panggilan API ditangkap dengan VCR dan disimpan sebagai perlengkapan di direktori fixtures . Jika API memperbarui, semua perlengkapan dapat dengan mudah diperbarui dengan hanya menghapus direktori fixtures dan menjalankan kembali tes.
Untuk melakukan ini jalankan rm -rf fixtures && ./setup.py test .