Skip to main content

Flask extension to integrate discourse content generated to docs to your website.

Project description

canonicalwebteam.discourse

Flask extension to integrate discourse content generated to docs to your website. This project was previously named discourse_docs.

Install

Install the project with pip: pip install canonicalwebteam.discourse

You can add the extension on your project as follows, replacing, at least, base_url and index_topic_id with your own settings:

import talisker.requests
from canonicalwebteam.discourse import Docs, DiscourseAPI

app = Flask("myapp")
session = talisker.requests.get_session()

discourse = Docs(
    parser=DocParser(
        api=DiscourseAPI(
            base_url="https://forum.example.com/", session=session
        ),
        index_topic_id=321,
        url_prefix="/docs",
    ),
    document_template="docs/document.html",
    url_prefix="/docs",
)
discourse.init_app(app)

Once this is added you will need to add the file document.html to your template folder.

Instructions for Engage pages extension

Because you are viewing a protected topic, you must provide api_key and api_username. You also need an index topic id, which you can get from discourse.ubuntu.com. Your index topic must contain a metadata section. Visit the EngageParser for more information about the structure. You are encouraged to use an blueprint name that does not collide with existent blueprints. The templates must match the ones provided in the parameters indicated.

Here is an example of an implementation:

engage_path = "/engage"
engage_docs = EngagePages(
    parser=EngageParser(
        api=DiscourseAPI(
            base_url="https://discourse.ubuntu.com/",
            session=session,
            api_key="secretkey", # API KEY used in the tests
            api_username="canonical",
        ),
        index_topic_id=17229,
        url_prefix=engage_path,
    ),
    document_template="/engage/base.html",
    url_prefix=engage_path,
    blueprint_name="engage-pages",
)

Additionally, if you need a list of all engage pages, you would construct a view this way:

app.add_url_rule(
    engage_path, view_func=build_engage_index(engage_docs)
)

Where build_engage_index would be your view.

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

canonicalwebteam.discourse-2.0.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

canonicalwebteam.discourse-2.0.1-py3-none-any.whl (23.4 kB view details)

Uploaded Python 3

File details

Details for the file canonicalwebteam.discourse-2.0.1.tar.gz.

File metadata

  • Download URL: canonicalwebteam.discourse-2.0.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for canonicalwebteam.discourse-2.0.1.tar.gz
Algorithm Hash digest
SHA256 65274db0b583dcd4a6c472a22b0a6187f1428de798f88225c4a556a0f7edd983
MD5 776081a4bdd8490c2e90b83dbc274b06
BLAKE2b-256 e99c324dc6de23bec30fc1f95bf643813a738d1be3798b76ba7f6dc5a4404dd3

See more details on using hashes here.

File details

Details for the file canonicalwebteam.discourse-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: canonicalwebteam.discourse-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.9

File hashes

Hashes for canonicalwebteam.discourse-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc94fee3b609e9dc59d008b8dc49ef62bc95f65d3048f097eb17dce48197d4d4
MD5 a5e4deb5c273e3d7047e827d627393d5
BLAKE2b-256 b314536ec4c120b0f3eec4be1c1d66a1d70ec8015f86748784e884404e2cdec0

See more details on using hashes here.

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