Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nixpkgs-manual-mmdoc, nixos-manual-mmdoc: init #108063

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ryantm
Copy link
Member

@ryantm ryantm commented Dec 31, 2020

This is a prototype Markdown manual renderer that has as few dependencies as possible. We might wish to have something like this because it would limit the build closure required for building the manuals, which is most important for NixOS.

The only dependencies are:

  • mmdoc - My C wrapper around cmark-gfm for making documentation
  • cmark-gfm - a C implementation of the CommonMark spec with additional GitHub-flavored Markdown extensions
  • xxd
  • fastJson
  • libzip

It uses assets from

  • fuse.js
  • highlight.js

Another benefit of this minimal approach is the manual can be rendered very quickly. cmark claims it can render War and Peace in 100 ms.

Try the Live demo!

Try it yourself

  • Checkout this branch
  • nix run .#nixpkgs-manual-mmdoc-watch
  • visit http://localhost:8000/ in your web browser

@ryantm

This comment has been minimized.

doc/minimal-manual.nix Outdated Show resolved Hide resolved
@ryantm

This comment has been minimized.

doc/anchors.nix Outdated Show resolved Hide resolved
doc/minimal-manual.nix Outdated Show resolved Hide resolved
doc/minimal-manual.nix Outdated Show resolved Hide resolved
@ryantm

This comment has been minimized.

@ryantm

This comment has been minimized.

Copy link
Member Author

@ryantm ryantm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of the edits here should be removed and it should be rebased on top of #108147

@ryantm

This comment has been minimized.

@ryantm
Copy link
Member Author

ryantm commented Jan 5, 2021

I've extracted the work into its own project now https://github.com/ryantm/mmdoc

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/nixpkgs-and-nixos-manual-enchancmenets-userscript/34203/5

@ryantm
Copy link
Member Author

ryantm commented Oct 17, 2023

I plan to merge this in one week unless I get feedback on it.

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2024-01-04-documentation-team-meeting-notes-102/37754/1

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/2024-01-25-documentation-team-meeting-notes-106/38792/1

@ryantm ryantm changed the title doc: add nixpkgs manual split into multiple pages nixpkgs-manual-mmdoc, nixos-manual-mmdoc: init Mar 15, 2024
@ryantm ryantm force-pushed the minman branch 5 times, most recently from 9f62601 to d537f79 Compare March 15, 2024 21:40
@infinisil
Copy link
Member

This is being discussed a bit in the docs Matrix room

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging this pull request may close these issues.

None yet