Giter Club home page Giter Club logo

chul's Introduction

Chul

Chul or Chull is an informal Hindi word, which merely means Itching. This module is the result of itching I had to create dead simple and time efficient static documentation generator for myself.

Instead of building themes through their build process. Chul encourages you to use the parts of theme and build them into your build process.

Static documentation generator

Note
Do note the keyword documentation here. Chul is not a static site generator like Jekyll or Hugo, it is a static generator but only for documentation.

Before you spend time in ready this document, lemme put some points that will help you in deciding on using Chul or not.

Themes

The themes in Chul are not giant themes that come with everything. Trust me, No one ever want to build sites, which uses layouts of others.

We all want personal touch on our websites, and no one can decide, where to put the logo and how to design the header.

  1. Chul themes have no build process. Instead, they rely on your build process to import and use them.

  2. Chul themes do not have any layouts.

  3. They come with 2 Edge partials and one CSS style ( for typography only ).

Better typography

Since I wanted themes to be super small, they have to be of some value. Every theme comes with a class file, and this file has almost near to perfect typography for the docs.

Note
The CSS file relies on Tailwind Css and must be compiled via PostCSS and Tailwind CSS only.

Why Tailwind?
There is no point if the docs typography is not in sync with your website styles, whether it is the font-color or the line-height, everything has to be same.

Tailwind CSS makes it easier for me to use its configuration without adding it to the theme. Read Build CSS using Webpack to learn more.

PostCSS build

Since Chul themes rely on Tailwind, they have to rely on PostCSS as well ( Tailwind is a PostCSS plugin ). With following inside postcss.config.js file, it should work great for you.

postcss.config.js
const tailwindcss = require('tailwindcss')
const atImport = require('postcss-import')
const chul = require('chul')
const path = require('path')

module.exports = {
  plugins: [
    atImport({
      addModulesDirectories: [path.join(__dirname, 'themes', chul.theme)]
    })
    tailwindcss(path.join(__dirname, 'tailwind.js'))
  ]
}

We are using postcss-import plugin to import the css file from your current theme

Inside Css
@import "theme-style";
@tailwind preflight;
@tailwind utilities;

The theme-style is the css file shipped with each theme.

Markdown is not the right tool

The reason we do not make use of Markdown is that it is not the right tool for the Job.

Markdown is a simple markup language and extreme limitations, due to which people create Markdown flavors so that they can missing functionality to it.

On the other hand, AsciiDoc is written to write docs. Read more here http://ericholscher.com/blog/2016/mar/15/dont-use-markdown-for-technical-docs/

chul's People

Contributors

thetutlage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.