{"id":42212888,"url":"https://github.com/foliant-docs/foliantcontrib.archeme","last_synced_at":"2026-01-27T01:06:52.211Z","repository":{"id":57431734,"uuid":"257708898","full_name":"foliant-docs/foliantcontrib.archeme","owner":"foliant-docs","description":"Archeme integration preprocessor for Foliant.","archived":false,"fork":false,"pushed_at":"2020-09-16T10:56:17.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-11-27T13:41:34.739Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/foliant-docs.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-21T20:32:12.000Z","updated_at":"2020-09-16T10:55:55.000Z","dependencies_parsed_at":"2022-09-02T11:51:51.430Z","dependency_job_id":null,"html_url":"https://github.com/foliant-docs/foliantcontrib.archeme","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/foliant-docs/foliantcontrib.archeme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foliant-docs%2Ffoliantcontrib.archeme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foliant-docs%2Ffoliantcontrib.archeme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foliant-docs%2Ffoliantcontrib.archeme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foliant-docs%2Ffoliantcontrib.archeme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foliant-docs","download_url":"https://codeload.github.com/foliant-docs/foliantcontrib.archeme/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foliant-docs%2Ffoliantcontrib.archeme/sbom","scorecard":{"id":406058,"data":{"date":"2025-08-11","repo":{"name":"github.com/foliant-docs/foliantcontrib.archeme","commit":"41838e7d7ec62c1e60bad972c650b751c15ad9f4"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/11 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'develop'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}}]},"last_synced_at":"2025-08-18T21:17:30.563Z","repository_id":57431734,"created_at":"2025-08-18T21:17:30.563Z","updated_at":"2025-08-18T21:17:30.563Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28794640,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: 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":[],"created_at":"2026-01-27T01:06:51.688Z","updated_at":"2026-01-27T01:06:52.186Z","avatar_url":"https://github.com/foliant-docs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](https://img.shields.io/pypi/v/foliantcontrib.archeme.svg)](https://pypi.org/project/foliantcontrib.archeme/) [![](https://img.shields.io/github/v/tag/foliant-docs/foliantcontrib.archeme.svg?label=GitHub)](https://github.com/foliant-docs/foliantcontrib.archeme)\n\n# Archeme\n\nArcheme preprocessor allows to integrate Foliant with [Archeme](https://github.com/foliant-docs/archeme/), a tool for describing and visualizing schemes and diagrams, primarily architectural. Archeme requires [Graphviz](https://www.graphviz.org/) to be installed.\n\nArcheme preprocessor finds diagram definitions that are described with Archeme DSL, in source Markdown content, then calls Archeme and Graphviz to draw diagrams, and then replaces the diagram definitions with image references.\n\n## Installation\n\n```bash\n$ pip install foliantcontrib.archeme\n```\n\n## Config\n\nTo enable the preprocessor, add `archeme` to `preprocessors` section in the project config:\n\n```yaml\npreprocessors:\n    - archeme\n```\n\nThe preprocessor has a number of options with the following default values:\n\n```yaml\npreprocessors:\n    - archeme:\n        cache_dir: !path .archemecache\n        graphviz_paths:\n            dot: dot\n            neato: neato\n            fdp: fdp\n        config_concat: false\n        config_file: null\n        action: generate\n        format: png\n        targets: []\n```\n\nSome values of options specified in the project config may be overridden by tag attributes, see below.\n\n`cache_dir`\n:   Directory to store generated Graphviz sources and drawn diagram images.\n\n`graphviz_paths`\n:   Paths to binaries of Graphviz engines to be used in external commands: `dot`, `neato`, and `fdp`.\n\n`config_concat`\n:   Flag that tells the preprocessor to read the config file and the diagram definition as YAML strings, concatenate these strings, and then load the concatenation result, i.e. single YAML string, as an object. If this option is not set (by default), config and diagram definition will be loaded as separate objects, and then merged. This option may be useful when some aliases are defined in the config, and you would like to use their values in the diagram definition.\n\n`config_file`\n:   Path to default config file. May be overridden with the value of the respective `config_file` tag attribute, see below. Config file usually defines common settings of multiple diagrams, it’s recommended but not strictly required. By default, no config file is used.\n\n`action`\n:   Default action. Used when the respective `action` tag attribute is not specified explicitly, see below. Available values are: `generate` (default), and `merge` ([see descriptions in Archeme documentation](https://github.com/foliant-docs/archeme/#cli-usage)). \n\n`format`\n:   Format of the output image. May take any value supported by Graphviz, but note that drawn images are used within Markdown content that will be rendered by one or another backend. Preferred values are: `png` (default), and `svg`. The value of this option may be overridden by the respective `format` tag attribute.\n\n`targets`\n:   Allowed targets for the preprocessor. If not specified (by default), the preprocessor applies to all targets. Limitation of available targets may be useful when it’s needed to build a certain Foliant project in different ways with various settings, e.g. as a stand-alone documentation (for example, with the `site` target), and as a part of a documentation that combines several Foliant projects (in this case the `pre` target is usually used).\n\n## Usage\n\nTo insert an Archeme diagram definition into your Markdown source, enclose it between `\u003carcheme\u003e...\u003c/archeme\u003e` tags:\n\n```markdown\n\u003carcheme\u003e\nstructure:\n    - node:\n        id: first\n    - node:\n        id: second\nedges:\n    -   tail: first\n        head: second\n\u003c/archeme\u003e\n```\n\nYou may use optional tag attributes:\n\n* `caption`—to set an alternative text description of the diagram that may be rendered as image caption by some backends;\n* `module_id`—to specify an unique ID of the diagram that may be used for merging multiple diagram definitions;\n* `action`—action that should be applied to the diagram definition; the available values are `generate` and `merge`; this attribute overrides the respective `action` config option;\n* `config_file`—path to a specific config file for the certain diagram definition; this attribute overrides the respective `config_file` config option;\n* `format`—output image format for the certain diagram definition; this attribute overrides the respective `format` config option.\n\n### Examples\n\nDiagram definition with explicitly specified ID, config file, and output format:\n\n```markdown\n\u003carcheme module_id=\"one\" caption=\"Module 1\" config_file=\"!project_path another_config.yml\" format=\"svg\"\u003e\nstructure:\n    - node:\n        id: first\n    - node:\n        id: second\nedges:\n    -   tail: first\n        head: second\n\u003c/archeme\u003e\n```\n\nArcheme DSL definition that prescribes to combine two modules with explicitly specified IDs:\n\n```markdown\n\u003carcheme action=\"merge\"\u003e\nstructure:\n    - module:\n        id: one\n    - module:\n        id: two\n\u003c/archeme\u003e\n```\n\nNote that the `file` and `description` module parameters in Archeme DSL work as usual. If you need to combine the diagrams that are identified within the current Foliant project by using `\u003carcheme module_id=\"...\"\u003e` tags, you should to omit the `file` and `description` module parameters in your combined diagrams definitions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoliant-docs%2Ffoliantcontrib.archeme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoliant-docs%2Ffoliantcontrib.archeme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoliant-docs%2Ffoliantcontrib.archeme/lists"}