{"id":27918726,"url":"https://github.com/opencomputeproject/ocp-spec-tools","last_synced_at":"2026-01-23T18:34:15.392Z","repository":{"id":288890571,"uuid":"968192298","full_name":"opencomputeproject/ocp-spec-tools","owner":"opencomputeproject","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-19T23:40:25.000Z","size":487,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-21T23:50:26.893Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","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/opencomputeproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2025-04-17T16:55:43.000Z","updated_at":"2025-12-19T23:40:28.000Z","dependencies_parsed_at":"2025-04-20T09:27:45.168Z","dependency_job_id":"4b0319d8-09f0-41dd-93d8-301c7f09edf3","html_url":"https://github.com/opencomputeproject/ocp-spec-tools","commit_stats":null,"previous_names":["opencomputeproject/ocp-spec-tools"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/opencomputeproject/ocp-spec-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencomputeproject%2Focp-spec-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencomputeproject%2Focp-spec-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencomputeproject%2Focp-spec-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencomputeproject%2Focp-spec-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opencomputeproject","download_url":"https://codeload.github.com/opencomputeproject/ocp-spec-tools/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opencomputeproject%2Focp-spec-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28697429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T17:25:48.045Z","status":"ssl_error","status_checked_at":"2026-01-23T17:25:47.153Z","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":"2025-05-06T18:25:02.995Z","updated_at":"2026-01-23T18:34:15.385Z","avatar_url":"https://github.com/opencomputeproject.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OCP Specification Tools\n\nThis repo contains tooling for rendering OCP specifications from Markdown.\n\n## TCG Pandoc\n\nThe scripts in this repository rely on TCG's [Pandoc](https://github.com/TrustedComputingGroup/pandoc) tooling. See the [Guide](https://github.com/TrustedComputingGroup/pandoc/blob/main/guide.tcg) (in PDF form on the TCG Pandoc [Releases](https://github.com/TrustedComputingGroup/pandoc/releases) page).\n\n## How to integrate with Github Pages\n\nThis repo provides a [reusable Github workflow](.github/workflows/render.yml) for rendering specifications to PDF or HTML and publishing them to Github Pages. See [GITHUB_PAGES.md](GITHUB_PAGES.md) for details.\n\n## How to run locally\n\nThis tooling requires Docker to be installed before it can run.\n\n- On a Windows platform, this tooling can be run using Windows Linux Subsystem (WLS) and Docker. The installation flow is described in [INSTALL_WINDOWS.md](INSTALL_WINDOWS.md).\n- On an Ubuntu platform, Docker can be installed by following [this](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) guide.\n\nOnce Docker has been installed, the following commands will install the OCP spec rendering tooling.\n\nTo run these commands on Windows, open the WLS app. This will launch a Command Window for Ubuntu, with the prompt at the home directory (~).\n\n```sh\n# One-time setup.\n$ git clone https://github.com/opencomputeproject/ocp-spec-tools.git\n$ ocp-spec-tools/docker-pull.sh\n$ echo alias ocp_render=\\\"$(realpath ocp-spec-tools/docker-run.sh)\\\" \u003e\u003e ~/.bashrc \u0026\u0026 source ~/.bashrc\n\n# Demonstrating use with the sample specification.\n# Must run from the directory containing the input file.\n$ cd ocp-spec-tools/sample-spec\n$ ocp_render --pdf spec.pdf spec.ocp\n\n# HTML is also supported.\n$ ocp_render --html spec.html spec.ocp\n```\n\n## How to build the tooling locally\n\nIf you would like to make changes to the rendering tooling and test them locally, see the TCG Pandoc [README](https://github.com/TrustedComputingGroup/pandoc/blob/main/README.md#how-to-build-locally) for how to build the tooling on your local machine.\n\n## Tips and tricks\n\n### Diagrams\n\nSpecification diagrams may be generated using draw.io. These can be edited with the [Draw.io Integration](https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio) Visual Studio Code extension.\n\nWhen creating new diagrams, be sure to enable a white background. Otherwise, the diagram will not be legible to viewers with dark mode enabled.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/drawio_background.png\" alt=\"draw.io background color\" width=\"200px\" style=\"box-shadow: 0px 2px 5px gray;\" /\u003e\n\u003c/p\u003e\n\n### Tables\n\nThis tooling supports multiple table syntaxes. See [here](https://pandoc.org/demo/example33/8.9-tables.html) for more details on each supported syntax.\n\nText may overflow table cells when rendered to PDF. There are several techniques for addressing this:\n\n- Shrink the page margin\n- Reduce the table font size\n- Manually adjust column widths\n\nThe page margin can be adjusted by adding `geometry: \"left=0.5in,right=0.5in\"` to the YAML front-matter.\n\nTable font size can be adjusted like so:\n\n```\nTable: some table {#tbl:some-table .small}  \u003c-- or `.tiny` for even smaller font size\n\n+-------+-------+\n| Col 1 | Col 2 |\n+=======+=======+\n| Some  | text  |\n+-------+-------+\n```\n\nTable column widths can be adjusted like so:\n\n```\nThe column widths are based on the relative widths of the separator row after the column headers.\n\n| Col 1 | Col 2 | Col 3 | Col 4 |\n|----|---|-------|----|                     \u003c-- The widths of the separators on this line determine column widths.\n| Some | text | of | varying length |\n| 123 | 123 | 123 | 123 |\n\n\n| Col 1 | Col 2 | Col 3 | Col 4          |\n| ----- | ----- | ----- | -------------- |  \u003c-- Auto-formatting a table will make these lengths match the column text.\n| Some  | text  | of    | varying length |\n| 123   | 123   | 123   | 123            |\n\n\n+-------+-------+-------+---------+\n| Col 1 | Col 2 | Col 3 | Col 4   |\n+=======+=======+=======+=========+         \u003c-- Grid tables let you wrap text within the cell to control the column width.\n| Some  | text  | of    | varying |\n|       |       |       | length  |\n+-------+-------+-------+---------+\n| 123   | 123   | 123   | 123     |\n+-------+-------+-------+---------+\n```\n\nIt is recommended to use a plugin to aid in formatting grid tables. This [Table Formatter](https://marketplace.visualstudio.com/items?itemName=shuworks.vscode-table-formatter) extension is suitable. When using this extension, ensure that its settings match what appear here:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./images/table_formatter_settings.png\" alt=\"Table formatter settings\" width=\"600px\" style=\"box-shadow: 0px 2px 5px gray;\" /\u003e\n\u003c/p\u003e\n\nNote: do not use the extension's \"Table: Format All\" command, as the extension misinterprets the YAML frontmatter as a table, and attempts to format it.\n\nNote: while grid tables support rowspan or colspan cells, this extension cannot format them. One workaround is to format the table with all edges present, and then as a last step, remove the edges needed to produce the desired rowspan or colspan cells.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencomputeproject%2Focp-spec-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopencomputeproject%2Focp-spec-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopencomputeproject%2Focp-spec-tools/lists"}