{"id":43386668,"url":"https://github.com/zeldigas/text2confl","last_synced_at":"2026-03-06T09:15:28.725Z","repository":{"id":43182787,"uuid":"425511098","full_name":"zeldigas/text2confl","owner":"zeldigas","description":"Publisher of documents to confluence","archived":false,"fork":false,"pushed_at":"2026-03-01T18:07:02.000Z","size":1059,"stargazers_count":20,"open_issues_count":9,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-01T20:55:23.473Z","etag":null,"topics":["asciidoc","confluence","confluence-cloud","confluence-server","documentation-as-code","markdown"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zeldigas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-07T13:29:51.000Z","updated_at":"2026-03-01T18:06:16.000Z","dependencies_parsed_at":"2023-10-03T02:38:49.422Z","dependency_job_id":"5e67af21-9cfc-45b6-8dc0-e72d2fa761f7","html_url":"https://github.com/zeldigas/text2confl","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/zeldigas/text2confl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeldigas%2Ftext2confl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeldigas%2Ftext2confl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeldigas%2Ftext2confl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeldigas%2Ftext2confl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zeldigas","download_url":"https://codeload.github.com/zeldigas/text2confl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zeldigas%2Ftext2confl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30168694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T07:56:45.623Z","status":"ssl_error","status_checked_at":"2026-03-06T07:55:55.621Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asciidoc","confluence","confluence-cloud","confluence-server","documentation-as-code","markdown"],"created_at":"2026-02-02T11:16:16.788Z","updated_at":"2026-03-06T09:15:28.713Z","avatar_url":"https://github.com/zeldigas.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# text2confl\n\n\u003c!-- Keep badges minimal and actionable. --\u003e\n[![Docker Image Version](https://img.shields.io/docker/v/zeldigas/text2confl?label=docker\u0026sort=semver)](https://hub.docker.com/r/zeldigas/text2confl)\n[![Docker Image Size](https://img.shields.io/docker/image-size/zeldigas/text2confl?label=image%20size\u0026sort=semver)](https://hub.docker.com/r/zeldigas/text2confl)\n[![Latest Release](https://img.shields.io/github/v/release/zeldigas/text2confl?display_name=tag\u0026sort=semver)](https://github.com/zeldigas/text2confl/releases/latest)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)\n[![CI](https://github.com/zeldigas/text2confl/actions/workflows/build.yml/badge.svg)](https://github.com/zeldigas/text2confl/actions/workflows/build.yml)\n\nPublish docs written in structured text formats (Markdown, AsciiDoc) to Confluence (Server/DC and Cloud).\n\n## If this project helps you\n\nPlease :star: **star this repo** — it helps other people discover the tool and motivates further maintenance.\n\n## Why text2confl\n\n`text2confl` focuses on turning docs-as-code (or any structured text) into a Confluence page tree:\n\n- Works with **Confluence Cloud** and **Confluence Server/Data Center**\n- Supports **Markdown** and **AsciiDoc** (and lets you mix formats in one documentation set)\n- Tries to provide **good feature coverage** for the chosen markup language, mapped to Confluence capabilities\n- Supports **extensibility/customization** (e.g., adding macros) so you don’t need to fork for common needs\n\n## Quick start\n\nIf you want to quickly see how `text2confl` works, you can upload the documentation of this repository to your own Confluence.\nPick a space and a parent page under which the pages will be created:\n\n```shell\n# from the root of the checked out text2confl repo\ntext2confl upload --docs ./docs \\\n  --confluence-url https://wiki.example.org \\\n  --user bob \\\n  --password secret_password \\\n  --space DOCS \\\n  --parent \"Text2Confl test\"\n```\n\nExample resulting page tree:\n\n![](docs/text2confl-page-tree.png)\n\n**Note on a public docs showcase:** At the moment there is no public Confluence demo because Confluence Cloud free tier\ndoesn’t allow publishing spaces/pages to non-members. If you’d like to sponsor a public demo space or provide access for\na read-only showcase, please open an issue.\n\n## Documentation\n\nStart here:\n\n- **User guide:** :book: [User guide](docs/user-guide.md)\n- **Configuration reference:** :gear: [Configuration reference](docs/configuration-reference.md)\n\nDeep dives / feature docs:\n\n- **Storage formats:**\n  - :mag: [Overview](docs/storage-formats.md)\n  - :memo: [Markdown](docs/storage-formats/markdown.md)\n  - :scroll: [AsciiDoc](docs/storage-formats/asciidoc.adoc)\n- **Working with attributes:**\n  - :page_facing_up: [Page attributes](docs/user-guide/page-attributes.md)\n  - :framed_picture: [Image attributes](docs/user-guide/image-attributes.md)\n  - :pushpin: [Table of contents (ToC) attributes](docs/user-guide/toc-attributes.md)\n- **Content tweaks:**\n  - :wrench: [Auto-fix content](docs/user-guide/auto-fix-content.md)\n  - :computer: [Code blocks](docs/user-guide/code-blocks.md)\n  - :art: [Table colors](docs/user-guide/table-colors.md)\n  - :straight_ruler: [Table width](docs/contribution/table-width.md)\n- **Advanced usage:**\n  - :file_folder: [Virtual pages](docs/user-guide/virtual-pages.md)\n  - :office: [Multitenant setups](docs/user-guide/multitenant.md)\n  - :broom: [Pages cleanup](docs/user-guide/pages-cleanup.md)\n\nContributing:\n\n- :handshake: [Contributing guide](CONTRIBUTING.md)\n- :construction: [Contribution notes](docs/contribution.md)\n\n## Who’s using text2confl\n\nIf your team uses `text2confl`, consider adding your company/project name here. It helps show that the tool is used in real setups.\n\n- _Your company / project_\n\nTo get listed, open a PR that adds a bullet to this section. If you prefer not to do that publicly, you can also open an issue/PM to me and I’ll add it for you.\n\n## Scope\n\n`text2confl` does not assume the purpose of the publishing process or the type of content you are going to upload.\nIt can be formal docs managed as code, a to-do list, or a report generated from Jira.\n\nBecause of that there isn’t a strict “final” feature set. If you find something missing, please create an issue and\ndescribe your needs.\n\n## Design and usability goals\n\nKey principles the tool tries to follow:\n\n1. Provide good feature coverage for every supported source format. If you pick AsciiDoc, it should feel comfortable,\n   not like you constantly hit unsupported features.\n\n   _Note:_ features still need to map to Confluence formatting or macros.\n2. Provide reasonable defaults and auto-detection where possible (e.g., Cloud vs Server editor differences).\n3. Support both Confluence Server/Data Center and Cloud and be aware of differences in editors/features.\n4. If the source format supports extensibility/customization, support it. There should be no need to fork just to add\n   common macros.\n\n## Supported source formats\n\n- ✅ Markdown\n- ✅ AsciiDoc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeldigas%2Ftext2confl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeldigas%2Ftext2confl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeldigas%2Ftext2confl/lists"}