{"id":18185065,"url":"https://github.com/jaandrle/mdexpr","last_synced_at":"2026-04-14T00:05:17.119Z","repository":{"id":58646513,"uuid":"531512489","full_name":"jaandrle/mdexpr","owner":"jaandrle","description":"Use extended markdown syntax inspired by Org mode from emacs.","archived":false,"fork":false,"pushed_at":"2022-09-07T08:25:15.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T18:13:20.250Z","etag":null,"topics":["markdown","mdexpr","nodejs","org-mode","syntax"],"latest_commit_sha":null,"homepage":"","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/jaandrle.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}},"created_at":"2022-09-01T12:37:58.000Z","updated_at":"2022-09-01T18:16:53.000Z","dependencies_parsed_at":"2023-01-17T22:25:22.798Z","dependency_job_id":null,"html_url":"https://github.com/jaandrle/mdexpr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaandrle%2Fmdexpr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaandrle%2Fmdexpr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaandrle%2Fmdexpr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaandrle%2Fmdexpr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaandrle","download_url":"https://codeload.github.com/jaandrle/mdexpr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247654957,"owners_count":20974100,"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":["markdown","mdexpr","nodejs","org-mode","syntax"],"created_at":"2024-11-02T22:05:51.611Z","updated_at":"2026-04-14T00:05:17.091Z","avatar_url":"https://github.com/jaandrle.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"**WIP – currently under investigation!**\n\n# mdexpr\nUse extended markdown syntax to simulate `org-agenda` from emacs.\n\nThis repository represents a syntax extension for\n**markdown** documents inspired by [Org mode for Emacs](https://orgmode.org/).\nIn particular, it is about:\n\n1. to provide syntax specification and documentation\n1. to provide utilities for developers to create libraries working with `mdexpr`.\n1. to provide list of well-known libraries\n\n## Motivation\nThe main goal of the `mdexpr` is not to replace the Org mode/filetype.\nBut it can be useful to bring some features (e.g.\n[Org-Agenda](http://www.cachestocaches.com/2016/9/my-workflow-org-agenda/)) into markdown documents.\nThis is because, for example, `README.md` documents are already used on GitHub.\n\n## Syntax Overview\nThe idea is that the markdown document should be readable primarily by people, therefore:\n\n1. Syntax should be as minimal as possible and use already existing markdown syntax as much as possible.\n1. The reader should be able to find out the maximum amount of information “encoded” in the extended syntax.\n1. Technical texts should by on the end of line/document.\n\nThe `mdexpr` syntax provide extension for block or line:\n- block syntax:\n```markdown\n## 2dn level Headline\n{… cmd}$\n\n- list\n- list\n{… cmd}$\n```\n- inline syntax:\n```\n## 2dn level Headline {… cmd}$\n\n- list\n- list {… cmd}$\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e…these example are converted into `context {… cmd}$`:\u003c/summary\u003e\n\n- first example (block syntax)\n\t- context:\n\t```\n\t## 2dn level Headline\n\t```\n\t- command \u0026 arguments:\n\t```\n\t{… cmd}$\n\t```\n- second example (block syntax)\n\t- context:\n\t```\n\t- list\n\t- list\n\t```\n\t- command \u0026 arguments:\n\t```\n\t{… cmd}$\n\t```\n- third example (inline syntax)\n\t- context:\n\t```\n\t## 2dn level Headline\n\t```\n\t- command \u0026 arguments:\n\t```\n\t{… cmd}$\n\t```\n- fourth example (inline syntax)\n\t- context:\n\t```\n\t- list \n\t```\n\t- command \u0026 arguments:\n\t```\n\t{… cmd}$\n\t```\n\n\u003c/details\u003e\n\nConcrete code processing depends on used program/library.\n\n## Syntax v0.5.x (currently)\nExtended commands are located into `{… cmd}$`, where `cmd` refers to command name and `…` are arguments for this command.\nReserved command name is **mdexpr**, currently supporting:\n\n- Use library syntax: `…1 {use [cmd](library-url) with …2}`:\n\t- *library-url* see library documentation\n\t- **cmd** is choosed alias used in another `{… cmd}$` processed by this library\n\t- *with* is optional part holding setting for library\n\t- *…1*: the *context* part is ignored in this case\n\t- This way, the regular user reading document can find out information in *library-url*, for example use:\n\t```markdown\n\t\u003cdetails\u003e\n\t\u003csummary\u003e`{… cmd}$` explanation\u003c/summary\u003e\n\n\tThis is [mdexpr](https://github.com/jaandrle/mdexpr) syntax. This document uses:\n\t- {use [agenda](https://github.com/jaandrle/mdexpr-agenda) with states=TODO,NEXT|DONE mdexpr}$\n\n\t\u003c/details\u003e\n\t```\n- Include (TBD): `{include […](another-md-file)}$`\n\nBlock syntax for now provide only line above `{… cmd}$`.\n\n## Libraries\n- [jaandrle/mdexpr-agenda: Use extended markdown syntax to simulate `org-agenda` from emacs.](https://github.com/jaandrle/mdexpr-agenda)\n\n## Ideas\n- check list progress\n```markdown\n## Headline {% todo}$\n- [ ] todo\n- [x] todo\n- [x] todo\n- [ ] todo\n{todo}$\n```\n- code export\n```markdown\n~~~javascript\nconsole.log(\"A\");\n~~~\n{write}$\n\n{use [write](library-url) with target=export_path mdexpr}$\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaandrle%2Fmdexpr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaandrle%2Fmdexpr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaandrle%2Fmdexpr/lists"}