{"id":19094442,"url":"https://github.com/risto-stevcev/github-markdown-live","last_synced_at":"2026-05-03T22:34:20.280Z","repository":{"id":66361951,"uuid":"52698664","full_name":"Risto-Stevcev/github-markdown-live","owner":"Risto-Stevcev","description":":octocat: A simple way to render and view your GitHub markdown files locally","archived":false,"fork":false,"pushed_at":"2016-03-17T10:50:46.000Z","size":124,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-11T23:29:21.573Z","etag":null,"topics":["editor","github","hot-reload","markdown","viewer"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/github-markdown-live","language":"JavaScript","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/Risto-Stevcev.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}},"created_at":"2016-02-28T01:37:30.000Z","updated_at":"2021-09-03T01:32:44.000Z","dependencies_parsed_at":"2023-02-22T12:46:28.445Z","dependency_job_id":null,"html_url":"https://github.com/Risto-Stevcev/github-markdown-live","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"36d218d023cacb399eccae12a920408b80babe3e"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Risto-Stevcev/github-markdown-live","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fgithub-markdown-live","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fgithub-markdown-live/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fgithub-markdown-live/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fgithub-markdown-live/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Risto-Stevcev","download_url":"https://codeload.github.com/Risto-Stevcev/github-markdown-live/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Risto-Stevcev%2Fgithub-markdown-live/sbom","scorecard":{"id":121238,"data":{"date":"2025-08-11","repo":{"name":"github.com/Risto-Stevcev/github-markdown-live","commit":"36d218d023cacb399eccae12a920408b80babe3e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"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":"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":"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":"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":"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/8 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":"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":"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":"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":"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":"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":"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":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"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-16T02:28:37.983Z","repository_id":66361951,"created_at":"2025-08-16T02:28:37.983Z","updated_at":"2025-08-16T02:28:37.983Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271400259,"owners_count":24752830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["editor","github","hot-reload","markdown","viewer"],"created_at":"2024-11-09T03:29:11.324Z","updated_at":"2026-05-03T22:34:20.240Z","avatar_url":"https://github.com/Risto-Stevcev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# github-markdown-live\n\n:octocat: A simple way to render and view your GitHub markdown files locally.\n\n\n## Usage\n\nChoose a markdown file to watch and then direct your browser to the server url (default is `localhost:3000`). The server will display your markdown file exactly how GitHub would render it, and every time you save your file, the browser will automatically re-render the view without having to hit refresh.\n\n```bash\n$ github-markdown-live [-d] [-p [port]] [-a [authentication]] -f [markdown file]\n```\n\n`port` - The port to use for the server (default: 3000)  \n`authentication` - Authenticate your requests using OAuth or Basic authentication ([oauthkey] | [username:password] | [username:oauthkey])  \n`markdown file` - The markdown file to watch (required)  \n`debug` - Prints the GitHub generated markdown to console\n\n```bash\n$ cd github-project\n$ github-markdown-live -f README.md\n[ --  -- ] Listening on *:3000\n```\n\n## How It Works\n\nThe styling and rendering is exactly how it will appear on GitHub because it uses GitHub's CSS stylsheets and it also uses the GitHub API to parse the markdown file into the HTML format that GitHub uses. All GitHub markdown features are supported as a result, including emojis. \n\nThe rendered view in the browser updates automatically without needing to hit refresh because it uses WebSockets (via socket.io) to update it live.\n\n\n## Request Limit\n\nThe [request limit](https://developer.github.com/v3/#rate-limiting) for the current GitHub API version (v3) is up to 60 requests/hour as an unauthenticated user. This is plenty for most people using the library, but if you find that you are running out of requests, you can authenticate using Basic or OAuth authentication, which will increase the rate to 5000 requests/hour.\n\nOAuth is recommended over Basic because you can limit the scope of what can be accessed with the key, and you can always revoke any key you create. You can create an OAuth token [here](https://github.com/settings/tokens/new).\n\nAll requests made by this app are sent via `https`, which will protect your credentials if you decide to use `username:password` Basic authentication.\n\n\n## Changelog\n\n- **v1.0.5**\n  - Removes line breaks from the markdown to match the GitHub flavor\n  - Added `-d, --debug` to print the GitHub generated markdown to console\n\n- **v1.0.2**\n  - Initial stable release\n\n\n## License\n\nLicensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristo-stevcev%2Fgithub-markdown-live","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fristo-stevcev%2Fgithub-markdown-live","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fristo-stevcev%2Fgithub-markdown-live/lists"}