Practicalli Neovim by Practicalli is licensed under CC BY-SA 4.0
Please read the contributing section of the book before raising an issue or pull request
By submitting content ideas and corrections you are agreeing they can be used in this workshop under the Creative Commons Attribution ShareAlike 4.0 International license. Attribution will be detailed via GitHub contributors.
The megalinter GitHub actions will run when a pull request is created,checking basic markdown syntax.
A review of the change will be carried out by the Practicalli team and the PR merged if the change is acceptable.
The Publish Website GitHub action will run when PR's are merged (or the Practicalli team pushes changes to the default branch).
GitBook open source tool is used to generate all the Practicalli books, as it provides a simple way to provide effective navigation across a guide or book with a large number of pages.
GitBook can be installed locally to support larger pieced of content development. It provides a local server that should continually build the site when changes are saved.
GitBook requires node.js version 11 (or version 10, or 8)
Install GitBook using node package manager
npm install gitbook-cli -g
Fork the practicalli/clojure GitHub repository and clone that fork to your computer,
git clone https://github.com/<your-github-account>/clojure.git
Install the GitBook plugins used for this project (as defined in the book.json configuration)
switch to the root directory of the cloned repository when complete.
gitbook install
If any plugins fail to install, ensure node version 11 (or 10) is being used
Run a local server to generate the website from the markdown content, which also listens for changes
gitbook serve
GitBook has numerous community plugins to extend its functionality.
The following plugins are currently used for Practicalli books.
- anchor-headings-lambda
- callouts
- codeblock-disable-glossary
- folding-chapters - fold navigation sections
- ga - Google analytics
- -glossary - disable default glossary
- -highlight - disable default highlight (prism)
- klipse - embed Klipse code evaluation in pages
- newtabs - in-page tab sections
- prism code block syntax highlighting (use jr0cket.css theme, added manually)
- sectionx-ex - in-page sections that can be collapsed (klipse doesnt work inside a section)
- -sharing - buttons to share on social media (default plugin disabled)
- splitter - movable vertical bar between navigation and content, remembers position
- terminull-light - fancy console - draws copy button on klipse elements
- theme-jr0cket - custom version of theme-code, removing numbering
- toggle-chapters - collapsed and expand navigation sections
- toolbar - add toolbar of links to GitHub, Chat, etc.
- youtubex - embed YouTube videos by id, rending responsively to page size
- wide-page - gitbook plugin to have a fluid page width instead of fixed