{"id":13623234,"url":"https://github.com/vimtaai/gumdrop","last_synced_at":"2026-02-17T00:08:19.384Z","repository":{"id":32230256,"uuid":"131855907","full_name":"vimtaai/gumdrop","owner":"vimtaai","description":"Script to display Markdown documents as static HTML pages","archived":false,"fork":false,"pushed_at":"2025-03-11T00:06:42.000Z","size":381,"stargazers_count":10,"open_issues_count":2,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-14T02:21:07.958Z","etag":null,"topics":["extramark","markdown","mustache","serverless","static-site"],"latest_commit_sha":null,"homepage":null,"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/vimtaai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-05-02T13:37:46.000Z","updated_at":"2024-01-14T12:44:36.000Z","dependencies_parsed_at":"2023-12-12T21:31:08.506Z","dependency_job_id":"f48d4e27-2d03-40cf-9a16-f440f6de11b5","html_url":"https://github.com/vimtaai/gumdrop","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimtaai%2Fgumdrop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimtaai%2Fgumdrop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimtaai%2Fgumdrop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vimtaai%2Fgumdrop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vimtaai","download_url":"https://codeload.github.com/vimtaai/gumdrop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248960763,"owners_count":21189988,"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","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":["extramark","markdown","mustache","serverless","static-site"],"created_at":"2024-08-01T21:01:29.394Z","updated_at":"2026-02-17T00:08:12.329Z","avatar_url":"https://github.com/vimtaai.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Gumdrop\n\n[![Version][badge-version]](https://www.npmjs.com/package/gumdrop)\n[![License][badge-license]](https://github.com/vimtaai/gumdrop/blob/master/LICENSE.md)\n[![Code style][badge-style]](https://github.com/prettier/prettier)\n\n\u003e Zero-configuration script to display Markdown documents as static HTML pages\n\n**Gumdrop** is designed to be an easy to use, standalone script that can generate websites and documentations written in [Markdown](https://daringfireball.net/projects/markdown/syntax). It dinamically loads all its dependencies from a CDN (including the Markdown parser) and does not require any configuration or initialization.\n\n## Installation\n\n**Gumdrop** does not require installation you just have to load it into an HTML document with a `script` tag.\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/gumdrop@4\"\u003e\u003c/script\u003e\n```\n\n## Usage\n\nTo create a static website with Markdown all you need to to is to create a HTML template (`index.html`) on your file server and add **Gumdrop** as an external script file.\n\n```html\n\u003cmain\u003e\u003c/main\u003e\n\u003cscript src=\"path/to/gumdrop.js\"\u003e\n```\n\n\u003e Be aware, that you have to serve your files via `http`/`https` protocol, as the `file` protocol does not support fetch requests.\n\nMarkdown files in the `pages` folder can be loaded. **Gumdrop** watches the hash fragment of the URL and loads the corresponding Markdown file from the `pages` folder. The parsed Markdown files get rendered in the `\u003cmain\u003e` HTML node if present, in `body` otherwise. The default file that gets loaded if no file is specified is `pages/index.md`. To create a link to another file in the `pages` folder simply create a link with its name prefixed by `#!/`.\n\n```md\n[Link to about.md](#!/about)\n```\n\nStatic resources (e.g. images) can be loaded from any folder that is served by your file server, paths are relative to `index.html`. Error pages for various HTTP errors can be placed in the `errors` folder. Each file should be named according to the HTTP error code it represents (e.g. `errors/404.md`).\n\nAdditional data can be specified for your documents in a [YAML Front Matter](https://yaml.org/). You can access this data in any of your Markdown documents with [mustache](http://mustache.github.io/) templates. \n\nYou can also use separate files to store data and link these resource files to a document in the front matter. Resource files can use YAML (default), JSON or Markdown type. Any value in a document's front matter that is annotated with the `!file` type is considered a file resource. File paths starting with a leading `/` are relative to `index.html`, if the leading `/` is missing then the `data` folder is assumed as the resource location. If no file type (extension) is given then the `.yaml` extension is assumed. For `.md` resource files the returned value will be the rendered Markdown document.\n\n```yaml\n# data/todo.yaml\n\ntodos:\n  - title: First todo\n    text: Complete your first assignment\n    completed: true\n  - title: YAML\n    text: Learn more about YAML Front Matters\n    completed: false\n```\n\n```\n---\ntodos: !file todo.yaml\n---\n{{#todos}}\n- **{{title}}**: {{text}} {{#completed}}(✔){{/completed}}\n{{/todos}}\n```\n\n### Features\n\n- Zero configuration, no initialization needed\n- No server side code, only needs a static file server\n- No build/generation step, it's just files you serve\n- Extra Markdown features via [ExtraMark](https://github.com/vimtaai/extramark)\n- Navigation by [fetch requests](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n- Local caching of files for faster load times\n- Additional data in front matter and data files handled by [mustache](http://mustache.github.io/) templates\n- Error pages for various HTTP error codes (404, 500, 300)\n\n### Syntax highlighting\n\nFenced code blocks are automatically processed by [Prism.js](https://prismjs.com/). Languages supported are the default languages in the Prism.js bundle. For syntax highlighting you have to include a **Prism.js** style in your `index.html`.\n\n```html\n\u003clink rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/prismjs@1/themes/prism.css\" /\u003e\n```\n\n### Using with GitHub Pages\n\nYou can use **Gumdrop** with [GitHub Pages](https://pages.github.com) as it can serve as a static file server. To prevent GitHub Pages from trying to transform your site with Jekyll add an empty `.nojekyll` file to the root of your site.\n\n## Contributing\n\nAll ideas, recommendations, bug reports, pull requests are welcome. :smile:\n\n[badge-version]: https://img.shields.io/npm/v/gumdrop.svg?style=flat-square\n[badge-license]: https://img.shields.io/npm/l/gumdrop.svg?style=flat-square\n[badge-style]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvimtaai%2Fgumdrop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvimtaai%2Fgumdrop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvimtaai%2Fgumdrop/lists"}