{"id":24193699,"url":"https://github.com/ftzi/mdol","last_synced_at":"2025-10-19T22:27:04.131Z","repository":{"id":115671329,"uuid":"386901543","full_name":"ftzi/mdol","owner":"ftzi","description":"Markdown value replacer. Simple alternative to Handlebars, replaces values directly on .md.","archived":false,"fork":false,"pushed_at":"2021-08-18T08:49:16.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-07T05:40:03.374Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ftzi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2021-07-17T10:02:18.000Z","updated_at":"2024-01-15T00:43:02.000Z","dependencies_parsed_at":"2023-12-05T17:00:19.256Z","dependency_job_id":null,"html_url":"https://github.com/ftzi/mdol","commit_stats":null,"previous_names":["hfantauzzi/mdol","brfantauzzi/mdol","ftzi/mdol"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ftzi/mdol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftzi%2Fmdol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftzi%2Fmdol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftzi%2Fmdol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftzi%2Fmdol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ftzi","download_url":"https://codeload.github.com/ftzi/mdol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ftzi%2Fmdol/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263507898,"owners_count":23477406,"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":[],"created_at":"2025-01-13T17:45:19.795Z","updated_at":"2025-10-19T22:26:59.096Z","avatar_url":"https://github.com/ftzi.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mdol\n\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n[![TypeScript](https://badgen.net/npm/types/env-var)](http://www.typescriptlang.org/)\n[![npm](https://img.shields.io/npm/v/mdol)](https://www.npmjs.com/package/mdol)\n[![npm](https://img.shields.io/npm/dw/mdol)](https://www.npmjs.com/package/mdol)\n\nSimple and easy way to populate Markdowns automatically, like README.md file. Handlebars simpler alternative.\n\n\u003cbr/\u003e\n\n# 🏗️Project still in very early dev state!\n\n## **You shouldn't use this right now. I may or not already be using this in some personal projects, but it isn't publicly ready yet. Also, this README is more like a draft right now -- not everything here is already implementeded or even will ever be.**\n\n\u003cbr/\u003e\n\n\n## ⤴️ Motivation\n* I kept editing by mistake my README.md instead of the README.hbs.\n* I wanted some nice warns/reminders on the README.md if that part was code-generated.\n* I don't like documentating at all, so I wanted a more plug and play solution, without having to learn too much new stuff about it.\n* `{{}}`, as Handlebars/Mustache uses, is annoying for React projects.\n* Integration with `typedoc` and `typedoc-plugin-markdown`.\n* Contributors had to deal with the .hbs to change the README. Not newbie friendly at all.\n* Inform the contributor where the data is being generated, where it can be changed.\n* Inform in the README how to generate the doc.\n* Tags for common content, like badges and accessing typedoc content.\n* I wanted it to be in my way! 🤠\n\n## Philosophy\n* Easy for anyone to edit the README. Intuitive and quick to catch up.\n* No need to `npm i` to change the README. The `prepare` script **in .mdol.js** must contain `npx` packages calls or local functions.\n* .mdol.js alone should usually be able to contain all the README needs.\n* Integration with common tools\n* Now focusing in JS/TS env, but it shall also have space for supporting other languages in the future.\n\n## Usage\n```md\n\u003c!--$ yourProp --\u003e\n\u003c!--/$ yourProp --\u003e\n```\n\nNo-spaces around are allowed: `\u003c!--$yourProp--\u003e`\n\n### Prop/Segment\n#### Function\n* The arguments are parsed as JSON5.\n* `undefined` value is not supported, but `null` is.\n* They may either return a string or an object, so nested access with function returns is supported.\n\n**When closing, `/` before the `$`!!** It's more noticeable that way.\n\n```\n\u003c!--$ @typedoc-md.interface(ShadowI, {table})-\u003e\u003e\n```\n*maybe #? Automatic stringify. Do also allow string version.*\n*just {prop} will set it as true.*\n\n`\u003c!--$badges--\u003e` will call badges() with some default argument, like reading .mdol.js badges config. This allows props becoming functions if now it may accept arguments.\n\n```\n\u003c!--$@typedoc-md.interface(ShadowI)--\u003e\n\u003c!--/$-\u003e\n```\n*Closes the previous tag.*\n```\n\u003c!--$yourProp/--\u003e\n```\n*This will be converted to an open/close tag on compilation.*\n\n* In VSCode, if you `Ctrl+/` in your .md file, it will comment the current line with `\u003c!-- --\u003e`. Just add the **`$`** to it!\n\n\u003c!--$ @typedoc-md.interface --\u003e\nTODO `npx mdol clean` - Clear all tags content.\n\n### Tag Type\n#### None: dict: entries entered on the **.mdol.js** file.\n#### **@** - script: Like dict, but for common usage.\n#### **!** - meta: Information that **mdol** has entered about it on the Markdown file.\n* !warn - Informs the human editor that him should not edit this file, but edit the source where the info was adquired. It's included between generated lines.\n* !info - Header and footer informing the human editor about the **mdol** package.\n* !buildInfo - Added after the header with some informations, like **mdol** version and when the last compilation of the Markdown file happened, in UTC format.\n\n\u003cbr/\u003e\n\n## Installation\n```bash\nnpm install -D mdol\n# or\nyarn add -D mdol\n# or run directly with npx\nnpx mdol\n```\n\n## [Changelog](CHANGELOG.md)\n\n## Name\nI somewhat randomly opted for the $ char at the tag, like `\u003c!--$yourProp--\u003e`.\nMarkdown, md. $, dolar. *mdolar?* **mdol!**\n\n## Future\n* Add guide for people who are contributing to some README.md.\nLink this guide on the README signs.\n* In this guide or near it, have the scripts descriptions.\n* Commands, with # prefix:\n  * #for (maybe not needed)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftzi%2Fmdol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fftzi%2Fmdol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fftzi%2Fmdol/lists"}