Flask extension and Django App to add a nice blog to your website
Project description
# Blog flask extension
This extension allows you to add a simple blog frontend to your flask app. All the articles
are pulled from the WordPress API that has the plugin WP-JSON.
This extension provides a blueprint with 3 routes:
- "/": that returns the list of articles
- "/<slug>": the article page
- "/feed": provides a RSS feed for the page.
## How to use
### Flask
In your app you can:
```python
import canonicalwebteam.blog_extension import BlogExtension
blog = BlogExtension(app, "Blog title", [1], "tag_name", "/url-prefix")
```
If you use the factory pattern you can also:
```python
import canonicalwebteam.blog_extension import BlogExtension
blog = BlogExtension()
blog.init_app(app, "Blog title", [1], "tag_name", "/url-prefix")
```
### Django
- Add the blog module as a dependency to your Django project
- Load it at the desired path (f.e. "/blog") in the `urls.py` file
```python
from django.urls import path, include
urlpatterns = [path(r"blog/", include("canonicalwebteam.blog.django.urls"))]
```
- In your Django project settings (`settings.py`) you have to specify the following parameters:
```python
BLOG_CONFIG = {
# the id for tags that should be fetched for this blog
"TAGS_ID": [3184],
# the title of the blog
"BLOG_TITLE": "TITLE OF THE BLOG",
# the tag name for generating a feed
"TAG_NAME": "TAG NAME FOR GENERATING A FEED",
}
```
- You can now use the data from the blog. To display it the module expects templates at `blog/index.html`, `blog/article.html` and `blog/blog-card.html`. Inspiration can be found at https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
- Run your project and verify that the blog is displaying at the path you specified (f.e. '/blog')
This extension allows you to add a simple blog frontend to your flask app. All the articles
are pulled from the WordPress API that has the plugin WP-JSON.
This extension provides a blueprint with 3 routes:
- "/": that returns the list of articles
- "/<slug>": the article page
- "/feed": provides a RSS feed for the page.
## How to use
### Flask
In your app you can:
```python
import canonicalwebteam.blog_extension import BlogExtension
blog = BlogExtension(app, "Blog title", [1], "tag_name", "/url-prefix")
```
If you use the factory pattern you can also:
```python
import canonicalwebteam.blog_extension import BlogExtension
blog = BlogExtension()
blog.init_app(app, "Blog title", [1], "tag_name", "/url-prefix")
```
### Django
- Add the blog module as a dependency to your Django project
- Load it at the desired path (f.e. "/blog") in the `urls.py` file
```python
from django.urls import path, include
urlpatterns = [path(r"blog/", include("canonicalwebteam.blog.django.urls"))]
```
- In your Django project settings (`settings.py`) you have to specify the following parameters:
```python
BLOG_CONFIG = {
# the id for tags that should be fetched for this blog
"TAGS_ID": [3184],
# the title of the blog
"BLOG_TITLE": "TITLE OF THE BLOG",
# the tag name for generating a feed
"TAG_NAME": "TAG NAME FOR GENERATING A FEED",
}
```
- You can now use the data from the blog. To display it the module expects templates at `blog/index.html`, `blog/article.html` and `blog/blog-card.html`. Inspiration can be found at https://github.com/canonical-websites/jp.ubuntu.com/tree/master/templates/blog.
- Run your project and verify that the blog is displaying at the path you specified (f.e. '/blog')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file canonicalwebteam.blog-1.3.0.tar.gz
.
File metadata
- Download URL: canonicalwebteam.blog-1.3.0.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad6f4bcd5e6d6261639231578791fba968927541ae71efc63836bdd462bf98ba |
|
MD5 | 0847b8532edee554749562f4f164f0f6 |
|
BLAKE2b-256 | 3aa2fbb9148cffa4ba45adc04cdcfedcba001589f13053200ea358cefddc7778 |