NextBook is quick and easy way to buid technical books or documentation that support modern standards and run blazingly fast. It works by compiling markdown and MDX to static pages. This way, first content render on user's device is near instant.
NextBook makes writing technical docs stupid simple while keeping featureset minimal but open for further extension.
Getting Started
ΒΆ
- Having Node installed beforehand, bootstrap a new project with
npx create-next-app my-awesome-book -e https://github.com/amiroff/NextBook
- Run
npm run dev:watch
and open http://localhost:3000/
- Check documentation to see what's possible with NextBook.
- Create your markdown or MDX content in
content
folder. Pages should auto-refresh as you modify markdown content.
- Update
config/config.json
with your table of contents and other information.
- Update
pages/index.jsx
to suit your needs as a standalone landing page or as a redirect to content.
- Deploy your repository to any static hosting provider like Vercel, Netlify, Github Pages or Google Cloud.
- Have fun! π
This should be enough to have a statically generated documentation page / book.
With the advantages of Next.js and React, anything fancy (grading, level switching...) can be added along the way.
What's New In NextBook 3.0?
ΒΆ
This release contains major speed improvements and backwards incompatible changes. Most of these come from MDX2 removing some functionality and other old libraries still not supporting ES modules.
- Migrated to
next-mdx-remote v.4
which now uses MDX2
. This has some speed improvements and stricter MDX syntax checking. See MDX2
- Replaced some custom incompatible markdown plugins with MDX counterparts. These are:
- Subscript: was
~
, became <sub>
tag.
- Superscript: was
^
, became <sup>
tag.
- Mark (higlight): was
==
, became <mark>
tag.
- Changed syntax for
Accordion
and Tabs
components. See related documentation.
- Removed functionality
- Indented code. This was removed from
MDX2
. Use other ways to define fenced code blocks.
- Linking with angle brackets: This was removed from
MDX2
. Use other ways to define links.
What's New In NextBook 2.0?
ΒΆ
- Support for multiple books in one project.
- Design based on tailwindcss.
- Markdown content is now being loaded with next-mdx-remote. This means content is now separated from routed pages.
- Auto-centered layout on big resolutions leading to one less configuration option.
- 40% smaller bundle size.
- Navigation bar.
- Updated dependencies.
- Refined mobile UI.
- Less code (β4,000 LOC).
Primary Features π§Ώ
ΒΆ
- π
Good looking, simple and readable UI based on tailwindcss including
dark
mode and auto-centered
layout,
- π Great SEO out of the box,
- π± Mobile & printer friendly,
- π Single page application with pre-fetching,
- π§Ύ Easy content creation with markdown and MDX support,
- π» Something more than what basic fenced code offers. Like line highlighting, linking to source and copying to clipboard,
- π€ Familiar Git workflow and collaboration,
- β¨οΈ Keyboard shortcuts for frequently used actions (theme change (T), page navigation (<>)),
- π In-page optional table of contents with scroolspy,
- Β© You own your data, code is the data. Committing to repository and seeing results in the simplest form,
- π Fast to get started, just one command for up & running locally,
- π One click (or push) deployment,
- π Unlimited dynamic features can be added with MDX,
- βοΈ Customisable, extensible and simple codebase,
- β€ Built on open-source,
- π And many more small details...
Use Right Tool For The Job
NextBook is not geared towards API documentation, rather it is optimised for tutorial/book style documentation. For API docs ReadTheDocs, Docusaurus or plain Sphinx would be a better fit.