{"id":31287879,"url":"https://github.com/leplusorg/docker-md","last_synced_at":"2026-05-03T22:32:29.564Z","repository":{"id":316089906,"uuid":"1061418751","full_name":"leplusorg/docker-md","owner":"leplusorg","description":"Multi-platform Docker container with utilities to process Mardown and text files (pandoc, markdown, prettier...).","archived":false,"fork":false,"pushed_at":"2026-04-22T09:47:57.000Z","size":206,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-22T11:35:57.000Z","etag":null,"topics":["docker","docker-container","docker-image","dockerfile","markdown"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/leplusorg/md","language":"Dockerfile","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/leplusorg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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-09-21T21:33:12.000Z","updated_at":"2026-04-22T09:48:01.000Z","dependencies_parsed_at":"2025-10-19T10:19:46.358Z","dependency_job_id":"462d05ba-2a2f-4df4-a7b4-ea17b1863afe","html_url":"https://github.com/leplusorg/docker-md","commit_stats":null,"previous_names":["leplusorg/docker-md"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/leplusorg/docker-md","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leplusorg%2Fdocker-md","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leplusorg%2Fdocker-md/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leplusorg%2Fdocker-md/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leplusorg%2Fdocker-md/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leplusorg","download_url":"https://codeload.github.com/leplusorg/docker-md/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leplusorg%2Fdocker-md/sbom","scorecard":{"id":1238010,"data":{"date":"2025-09-22T15:22:51Z","repo":{"name":"github.com/leplusorg/docker-md","commit":"e9fef18ff2e6be8766327a2cbd65aa22126850b5"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":6.3,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/5 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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"CI-Tests","score":-1,"reason":"no pull request found","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Maintained","score":0,"reason":"project was created within the last 90 days. Please review its contents carefully","details":["Warn: Repository was created within the last 90 days."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"SAST","score":10,"reason":"SAST tool detected: CodeQL","details":["Info: SAST configuration detected: CodeQL","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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'packages' permission set to 'read': .github/workflows/codeql-analysis.yml:27","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:30","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:31","Info: jobLevel 'actions' permission set to 'read': .github/workflows/devskim.yml:24","Info: jobLevel 'contents' permission set to 'read': .github/workflows/devskim.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/super-linter.yml:40","Info: jobLevel 'packages' permission set to 'read': .github/workflows/super-linter.yml:41","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/super-linter.yml:42","Info: found token with 'none' permissions: .github/workflows/apk-check-versions.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/automerge.yml:7","Warn: topLevel 'actions' permission set to 'write': .github/workflows/automerge.yml:6","Info: found token with 'none' permissions: .github/workflows/codeql-analysis.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:6","Info: found token with 'none' permissions: .github/workflows/devskim.yml:1","Info: found token with 'none' permissions: .github/workflows/dockerhub.yml:1","Info: found token with 'none' permissions: .github/workflows/msdo.yml:1","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/osv-scanner.yml:26","Info: topLevel 'contents' permission set to 'read': .github/workflows/osv-scanner.yml:28","Info: topLevel 'actions' permission set to 'read': .github/workflows/osv-scanner.yml:30","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:12","Info: found token with 'none' permissions: .github/workflows/super-linter.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/update-prs.yml:12"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: npmCommand not pinned by hash: md/Dockerfile:39-40","Info:  19 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:  17 out of  17 third-party GitHubAction dependencies pinned","Info:   1 out of   1 containerImage dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-build-push.yml:16"],"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"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/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: leplusorg"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}}]},"last_synced_at":"2025-09-22T17:55:46.628Z","repository_id":316089906,"created_at":"2025-09-22T17:55:46.629Z","updated_at":"2025-09-22T17:55:46.629Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32587817,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"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":["docker","docker-container","docker-image","dockerfile","markdown"],"created_at":"2025-09-24T11:28:47.210Z","updated_at":"2026-05-03T22:32:29.558Z","avatar_url":"https://github.com/leplusorg.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Markdown\n\nMulti-platform Docker container with utilities to process Mardown and text files (`pandoc`, `markdown`, `prettier`...).\n\n[![Dockerfile](https://img.shields.io/badge/GitHub-Dockerfile-blue)](md/Dockerfile)\n[![Docker Build](https://github.com/leplusorg/docker-md/workflows/Docker/badge.svg)](https://github.com/leplusorg/docker-md/actions?query=workflow:\"Docker\")\n[![Docker Stars](https://img.shields.io/docker/stars/leplusorg/md)](https://hub.docker.com/r/leplusorg/md)\n[![Docker Pulls](https://img.shields.io/docker/pulls/leplusorg/md)](https://hub.docker.com/r/leplusorg/md)\n[![Docker Version](https://img.shields.io/docker/v/leplusorg/md?sort=semver)](https://hub.docker.com/r/leplusorg/md)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/10081/badge)](https://bestpractices.coreinfrastructure.org/projects/11220)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/leplusorg/docker-md/badge)](https://securityscorecards.dev/viewer/?uri=github.com/leplusorg/docker-md)\n\n## Example without using the filesystem\n\nLet's say that you want to convert an Markdown file input.md in your current working directory to HTML:\n\n**Mac/Linux**\n\n```bash\ncat input.md | docker run --rm -i --net=none leplusorg/md pandoc -o - \u003e output.html\n```\n\n**Windows**\n\n```batch\ntype input.md | docker run --rm -i --net=none leplusorg/md pandoc -o - \u003e output.html\n```\n\n## Example using the filesystem\n\nSame thing, assuming that you want to convert an Markdown file input.md in your current working directory to HTML:\n\n**Mac/Linux**\n\n```bash\ndocker run --rm -t --user=\"$(id -u):$(id -g)\" --net=none -v \"$(pwd):/tmp\" leplusorg/md pandoc -o output.html input.md\n```\n\n**Windows**\n\nIn `cmd`:\n\n```batch\ndocker run --rm -t --net=none -v \"%cd%:/tmp\" leplusorg/md pandoc -o output.html input.md\n```\n\nIn PowerShell:\n\n```pwsh\ndocker run --rm -t --net=none -v \"${PWD}:/tmp\" leplusorg/md pandoc -o output.html input.md\n```\n\n## NPM Packages\n\nUse the `npx` command to run command-line tools coming from npm\npackages. This ensures isolation between the different packages\n(including potentially conflicting dependencies).\n\n## Software Bill of Materials (SBOM)\n\nTo get the SBOM for the latest image (in SPDX JSON format), use the\nfollowing command:\n\n```bash\ndocker buildx imagetools inspect leplusorg/md --format '{{ json (index .SBOM \"linux/amd64\").SPDX }}'\n```\n\nReplace `linux/amd64` by the desired platform (`linux/amd64`, `linux/arm64` etc.).\n\n## Provenance\n\nTo get the provenance for the latest image (in JSON format), use the\nfollowing command:\n\n```bash\ndocker buildx imagetools inspect leplusorg/md --format '{{ json .Provenance }}'\n```\n\n## Sigstore\n\n[Sigstore](https://docs.sigstore.dev) is trying to improve supply\nchain security by allowing you to verify the origin of an\nartifact. You can verify that the image that you use was actually\nproduced by this repository. This means that if you verify the\nsignature of the Docker image, you can trust the integrity of the\nwhole supply chain from code source, to CI/CD build, to distribution\non Maven Central or wherever you got the image from.\n\nYou can use the following command to verify the latest image using its\nsigstore signature attestation:\n\n```bash\ncosign verify leplusorg/md --certificate-identity-regexp 'https://github\\.com/leplusorg/docker-md/\\.github/workflows/.+' --certificate-oidc-issuer 'https://token.actions.githubusercontent.com'\n```\n\nThe output should look something like this:\n\n```text\nVerification for index.docker.io/leplusorg/xml:main --\nThe following checks were performed on each of these signatures:\n  - The cosign claims were validated\n  - Existence of the claims in the transparency log was verified offline\n  - The code-signing certificate was verified using trusted certificate authority certificates\n\n[{\"critical\":...\n```\n\nFor instructions on how to install `cosign`, please read this [documentation](https://docs.sigstore.dev/cosign/system_config/installation/).\n\n## Request new tool\n\nPlease use [this link](https://github.com/leplusorg/docker-md/issues/new?assignees=thomasleplus\u0026labels=enhancement\u0026template=feature_request.md\u0026title=%5BFEAT%5D) (GitHub account required) to request that a new tool be added to the image. I am always interested in adding new capabilities to these images.\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n## Security\n\nPlease read [SECURITY.md](SECURITY.md) for details on our security policy and how to report security vulnerabilities.\n\n## Code of Conduct\n\nPlease read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for details on our code of conduct.\n\n## License\n\nThis project is licensed under the terms of the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleplusorg%2Fdocker-md","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleplusorg%2Fdocker-md","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleplusorg%2Fdocker-md/lists"}