Pencil is a powerful static documentation website generator that works on Markdown.
What can it do?
Pencil allows you to write content in Markdown, which has a very powerful and easy to learn markup syntax. You can quickly start creating your website without much code.
Pencil will automatically create the required files for your website, which are ready to be deployed to services like Netlify, GitHub Pages.
Features
Static site generation
- Minified files
- SEO friendly
- Integrate external files
Built-in markdown plugins
- Table of contents
- Anchored Headings
- Code highlighting
- Callouts
- YouTube player embed
- Emoji
Customization
- Control theme color
- Dark theme
🕶️ - Custom plugins support
Quick start
Pencil site can be created quickly using the CLI tool. Make sure you have recent LTS version of Node.js installed. Follow the commands below:
npm install -g @pencil/core
pencil init
# follow steps shown in CLI
Installing dependencies via
npm install
is not necessary if CLI is globally installed.
Development
Following commands must be followed to setup Pencil development environment.
git clone https://github.com/blenderskool/pencil
cd pencil
npm install
npm run dev
By default, the dev server opens at port 3000
with the playground.
Playground is where you can test the code and make live changes to it.
Directory structure
Pencil follows the following directory structure,
-
src
- Contains the source code.-
core
- Core modules that are used.-
functions
- Contains the code for the builder. -
templates
- Template files that define the structure, design and basic functionality of documentation website. -
utils
- Helper functions used extensively in functions.
-
-
-
playground
- A sample documentation website setup to test Pencil features during development. -
bin
- Contains the scripts for the CLI.
Contributing
Make sure you create a fork of this repository before you start contributing.
git clone <your-forked-repo>
cd <your-forked-repo>
npm install
npm run dev
git checkout -b some-fix
# make changes to the code
git commit -m "Your commit message"
git push origin some-fix
Use the playground to test your code. Do not commit changes made in the
playground
.
Once you are done with the changes, you can open a pull request to dev
branch.
License
Pencil is MIT Licensed