Tikui is a MIT-licensed free software project allowing you to create a web pattern library.
- Node.js LTS version
After cloning the repository, please go to the root Tikui directory and run this command:
npm installIn development, you can run the application locally on localhost:3000
npm run serveTo generate the global structure of the component below, you can use Tikui CLI command (install tikui using npm i -g @tikui/cli), and then from the root of your project, run:
tikui create -p tikui button src/atomYou can read the help from
tikuiand each commands using:
tikui helpto see the global helptikui help createto see a command help, herecreate
The source folder src follows the Atomic Design methodology.
To make your first component, we will take an atom example: a button.
Inside src/atom/atom.pug, you have to describe your button by adding an inclusion at the end of the file:
include:componentDoc(height=55) button/button.mdYou can also use
include:templateDoc button/button.mdif you don't want to see the component render, it's useful on bigger components like templates.
Now, you have to create your atom by adding the button folder and the button documentation as a markdown file:
mkdir src/atom/button
touch src/atom/button/button.mdIn button.md file we can add:
## Button
A simple button.Now, you can open the button from the atom menu, inside your browser (serve is needed).
You can see a title Button, a content A simple button and two files to create:
touch src/atom/button/button.render.pug
touch src/atom/button/button.code.pugThe file
button.render.pugrepresents the render of your component andbutton.code.pugrepresents its code.
Inside button.render.pug, you can add:
extends /layout
block body
include button.code.pugAnd inside button.code.pug:
button.tikui-button ButtonThen you can see a button on the browser. Now, you have to change the appearance of this button on _atom.scss and _button.scss files:
touch src/atom/_atom.scss
touch src/atom/button/_button.scssBefore going into these two new files, edit the default scss file:
Inside tikui.scss:
@import 'atom/atom';Inside _atom.scss:
@import 'button/button';Inside _button.scss:
.tikui-button {
border: 1px solid #47a;
border-radius: 3px;
background-color: #47a;
padding: 5px;
line-height: 1.5rem;
color: #fff;
font-size: 1rem;
}As you can see in the browser, there is a documented blue button with an example of code.