{"id":13681950,"url":"https://github.com/d3lio/mrend","last_synced_at":"2025-12-28T10:43:41.618Z","repository":{"id":36750146,"uuid":"138644454","full_name":"d3lio/mrend","owner":"d3lio","description":"A markdown presentation generator","archived":false,"fork":false,"pushed_at":"2024-09-08T08:57:33.000Z","size":512,"stargazers_count":6,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-09-08T10:00:01.522Z","etag":null,"topics":["generator","javascript","markdown","presentation"],"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/d3lio.png","metadata":{"files":{"readme":"README.md","changelog":null,"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-06-25T20:08:32.000Z","updated_at":"2024-09-08T08:57:36.000Z","dependencies_parsed_at":"2024-08-02T13:21:22.918Z","dependency_job_id":"96957fb1-b62b-426b-a7aa-594819e0f467","html_url":"https://github.com/d3lio/mrend","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/d3lio%2Fmrend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3lio%2Fmrend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3lio%2Fmrend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3lio%2Fmrend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d3lio","download_url":"https://codeload.github.com/d3lio/mrend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224201780,"owners_count":17272644,"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":["generator","javascript","markdown","presentation"],"created_at":"2024-08-02T13:01:38.250Z","updated_at":"2025-12-28T10:43:41.541Z","avatar_url":"https://github.com/d3lio.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# mrend\n\nA markdown presentation generator tool\n\n![](screenshots/example1.jpg)\n\n# Default configuration\n\n`mrend` comes with some plugins that are preset for FMI's Rust course.\nOf course you can tweak them or remove them whatsoever to make it work for your own needs.\n\n# Getting started\n\n### Prerequisites\n\nYou will need [Node.js](https://nodejs.org/) and [Yarn](https://yarnpkg.com/).\nNpm could work as well but who would use that anyway ;)\n\nIf you intend to use the Rust plugin you will also need [rustup](https://rustup.rs/) with\nstable and nightly toolchains.\n\n### Setup\n\nClone this repo using `git clone https://github.com/d3lio/mrend.git`.\n\nNavigate into the folder where you cloned the tool.\nFor *nix systems run `yarn global add file:$PWD`.\nFor Windows run `yarn global add file:%cd%`.\n\nThis will install it globally to use as `mrend`.\n\n### Build a presentation\n\nTo build a presentation run `mrend \u003cpath/to/file.md\u003e`.\n\nTo build the example presentation run `mrend example.md`.\nIt will generate a folder called `output` containing `index.html`.\n\nOpen the html file into your preferred browser and enjoy.\n\n# Usage\n\nYou should also be familiar with markdown syntax before you begin for obvious reasons.\n\n### Metadata\n\nEvery `mrend` presentation has a metadata header that looks like this\n\n```\n---\ntitle: My Presentation\nauthor: John Doe\n---\n```\n\nYou can configure your presentation without having to pass any special arguments to `mrend`.\nEach presentation has its own such properties and you won't have to remember to pass them\nevery time you need to rebuild the presentation.\n\nThe above example declares two properties - the `title` and the `author`. The former is your\npresentation's title. The latter is the name of the author which `mrend` will put in the\nintroduction slide.\n\nTo see an extended set of properties go to [example.md](example.md)\n\n### Slides\n\nOf course this wouldn't be a presentation generator if it couldn't create slides.\nTo do so mrend uses `---` as a slide separator. For example\n\n```\n# Slide 1\n\ncontent\n\n---\n# Slide 2\n\nmore content!\n```\n\n### Animated slides\n\nThe slides can be split into animated parts. Lets say we have a list and we want to show the bullets\none by one. This can be achieved by using `--`:\n\n```\n# Slide\n\n* Item1\n--\n* Item2\n--\n  - Subitem\n```\n\nThe generated presentation will contain a slide for each split to create the fealing for an animated list.\nWhen changing slides instead of going to the next whole slide you will render the next subslide segment.\n\n### Split view\n\nSometimes you might need to compare two things or maybe create a pros and cons columns.\nThis can be achived using the split view syntax.\n\n```\n# Review slide\n\n%%\n# Pros\n\n* Easy to use\n* Supports markdown\n%%\n# Cons\n\n* Animations don't work inside\n%%\n```\n\nThe pros will be displayed on the left and cons on the right.\n\n### Rust code\n\nWith the default preset there is a plugin that verifies the rust code blocks. There is some special\nsyntax to remember which closely resembles Rust's doc tests.\n\n* by default all Rust code blocks are compiled and executed and the output is shown below the block\n* `# ` (# followed by 1 space) prepends code that will be used by the compiler but not shown to the user\n* `# // norun` on the first line of the code block indicates that the code will be compiled but not runned\n* `# // ignore` on the first line of the code block indicates that the code will not be compiled nor runned\n\n![](screenshots/example2.jpg)\n\n# Plugins\n\nRefer to the plugins [draft documentation](PLUGINS.md).\n\nYou can also check out [showdownjs extensions](https://github.com/showdownjs/showdown/wiki/extensions)\n\n# TODO\n\n* Code block copy button\n* Code block spot light and animations\n* Split view animations\n* Speaker notes\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3lio%2Fmrend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd3lio%2Fmrend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3lio%2Fmrend/lists"}