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 install
In development, you can run the application locally on localhost:3000
npm run serve
To 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/atom
You can read the help from
tikui
and each commands using:
tikui help
to see the global helptikui help create
to 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.md
You can also use
include:templateDoc button/button.md
if 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.md
In 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.pug
The file
button.render.pug
represents the render of your component andbutton.code.pug
represents its code.
Inside button.render.pug
, you can add:
extends /layout
block body
include button.code.pug
And inside button.code.pug
:
button.tikui-button Button
Then 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.scss
Before 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.