Skip to main content

CLI utility for publishing markdown files to Outline wiki

Project description

GetOutline CLI

getoutline-cli is an unofficial command-line interface for publishing markdown files to Outline. The primary goal of this project is to automate the process of publishing markdown files to Outline in CI/CD pipelines.

It allows to publish CHANGELOG.md, README.md, or any other markdown file to an Outline wiki.

The list of files to publish is defined in the configuration file .outline-cli.yml. Alternatively, you can specify configuration file using --config option.

Installation and usage

pip install getoutline-cli
./getoutline-cli

Environment Variables

  • OUTLINE_API_TOKEN - Outline API token (required if not specified in the configuration file)
  • OUTLINE_URL - Outline URL (e.g., https://wiki.example.com) (required if not specified in the configuration file)

Configuration file

The configuration file is a YAML file containing the following fields:

  • token - Outline API token (required if not specified in the environment variables)
  • url - Outline URL (e.g., https://wiki.example.com) (required if not specified in the environment variables)
  • files - List of files to publish (required)

The files field is a list of dictionaries with the following fields:

  • path - Name or path to the markdown file (required)
  • id - Outline document ID (required)
  • title - Title of the document in Outline (optional)
  • append - Append content to the existing document (optional, default is False)
  • publish - Publish the document after updating (optional, default is True)
  • substitutions - List of substitutions to apply to the content (optional)

The substitutions field is a list of dictionaries regex: replacement value, applied to the content of the markdown file before publishing.

Example Configuration File

url: https://wiki.example.com
token: YOUR_OUTLINE_API_TOKEN
files:
  - path: CHANGELOG.md
    id: YOUR_ID_1
    substitutions:
      # Remove links to git commits
      - " ?\\(\\[[a-z0-9]+\\]\\(https://git\\.example\\.com/.+\\)\\)": ""
      # Remove commits without JIRA issues (DEV-XXXX)
      - "^\\* (?!.*\\(DEV-\\d+\\)).*$\\n": ""
      # Remove empty sections
      -  "### .+\\n+": ""
  - path: README.md
    id: YOUR_ID_2
    title: README
    append: false
    publish: true

Authors

  • Alexander Pivovarov

License

License under the MIT License.

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

getoutline-cli-0.3.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

getoutline_cli-0.3.0-py2-none-any.whl (5.2 kB view details)

Uploaded Python 2

File details

Details for the file getoutline-cli-0.3.0.tar.gz.

File metadata

  • Download URL: getoutline-cli-0.3.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.0

File hashes

Hashes for getoutline-cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 ac37f7f6063bf98adfe00a9a96deb53101dfdd6feef7e5ff372b5f7a89d676f6
MD5 32d90ab0a484bd5e2327574a1e90f0f2
BLAKE2b-256 e587511aa6148c1d835d3530643c28f7542734d8abf24a229e8ede967917e39f

See more details on using hashes here.

File details

Details for the file getoutline_cli-0.3.0-py2-none-any.whl.

File metadata

  • Download URL: getoutline_cli-0.3.0-py2-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.0

File hashes

Hashes for getoutline_cli-0.3.0-py2-none-any.whl
Algorithm Hash digest
SHA256 d9600d16f3f3ab74f67561963cb6ec7f0532e82f0d75985cfe5515433272d451
MD5 9cc89fa3f0064634f4be88aa951ea698
BLAKE2b-256 9afe8f725aa558069874aa6b838cc77e11ba45016988ff4a16bc493786084205

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page