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 DiscourseAPI, Tutorials, TutorialParser

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

discourse = Tutorials(
    parser=TutorialParser(
        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-4.0.0.tar.gz (23.1 kB view details)

Uploaded Source

Built Distribution

canonicalwebteam.discourse-4.0.0-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: canonicalwebteam.discourse-4.0.0.tar.gz
  • Upload date:
  • Size: 23.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for canonicalwebteam.discourse-4.0.0.tar.gz
Algorithm Hash digest
SHA256 ca3f85907a52117d5dc5c6584d8d56f7fc5e4d9b634ba250f9d6275fb1b4db20
MD5 fbdf08a55bd8f2d0db6133976f256a72
BLAKE2b-256 537c95a172d1dbfa2885c0988303a4f4e08d787d3fa26e2b9ba1c6b1cfe1970a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: canonicalwebteam.discourse-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for canonicalwebteam.discourse-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f5583e019b9b79eabf2359ef450c2cbea10d3f527ddabcf772453f6b1322e2c
MD5 b0e48874ac073ef318f298f461f3a82e
BLAKE2b-256 ce30e333f9575fe9149202cbd5cf44fe5cb00ba08ebc2efe98bc191c2c9ee9d2

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