All Projects → r7kamura → Katatema

r7kamura / Katatema

Licence: mit
A handy static site generator using React.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Katatema

React Typescript Web Extension Starter
🖥 A Web Extension starter kit built with React, TypeScript, SCSS, Storybook, Jest, EsLint, Prettier, Webpack and Bootstrap. Supports Google Chrome + Mozilla Firefox + Brave Browser 🔥
Stars: ✭ 510 (+436.84%)
Mutual labels:  webpack, scss
Ghchat
📱A chat application for GitHub. React + PWA + Node(koa2) + Typescripts + Mysql + Socket.io
Stars: ✭ 791 (+732.63%)
Mutual labels:  webpack, scss
Honoka
Honoka is one of the original Bootstrap theme.
Stars: ✭ 634 (+567.37%)
Mutual labels:  webpack, scss
Wxapp Boilerplate
使用 webpack, babel, scss 开发的微信/支付宝小程序项目脚手架
Stars: ✭ 367 (+286.32%)
Mutual labels:  webpack, scss
Cusca
A ghost theme
Stars: ✭ 42 (-55.79%)
Mutual labels:  webpack, scss
Adminkit
🧰 AdminKit is a free & open source Bootstrap 5 Admin Template
Stars: ✭ 395 (+315.79%)
Mutual labels:  webpack, scss
Vue Music Player
🎵Vue.js写一个音乐播放器+📖One(一个).A music player + One by Vue.js
Stars: ✭ 729 (+667.37%)
Mutual labels:  webpack, scss
Skeleventy
A skeleton boilerplate built with Eleventy.
Stars: ✭ 318 (+234.74%)
Mutual labels:  webpack, scss
Mailgo
💌 mailgo, a new concept of mailto and tel links
Stars: ✭ 978 (+929.47%)
Mutual labels:  webpack, scss
Html Sass Babel Webpack Boilerplate
Webpack 4 + Babel + ES6 + SASS + HTML Modules + Livereload
Stars: ✭ 35 (-63.16%)
Mutual labels:  webpack, scss
Sass Loader
Compiles Sass to CSS
Stars: ✭ 3,718 (+3813.68%)
Mutual labels:  webpack, scss
Ifme
Free, open source mental health communication web app to share experiences with loved ones
Stars: ✭ 1,147 (+1107.37%)
Mutual labels:  webpack, scss
Gulp Scss Starter
Frontend development with pleasure. SCSS version
Stars: ✭ 339 (+256.84%)
Mutual labels:  webpack, scss
Mailtolink
A quick and easy way to generate markup for mailto links without having to worry about the annoying formatting.
Stars: ✭ 478 (+403.16%)
Mutual labels:  webpack, scss
Personal Site
My personal website - built with React, React-Router, React-Snap for Static-Export, and GitHub Pages.
Stars: ✭ 324 (+241.05%)
Mutual labels:  webpack, scss
Universal
Seed project for Angular Universal apps featuring Server-Side Rendering (SSR), Webpack, CLI scaffolding, dev/prod modes, AoT compilation, HMR, SCSS compilation, lazy loading, config, cache, i18n, SEO, and TSLint/codelyzer
Stars: ✭ 669 (+604.21%)
Mutual labels:  webpack, scss
Vue Home
🏠 A simple project(Vue Community SPA) which bases on vue+vue-cli+vue-router+axios+ scss.
Stars: ✭ 256 (+169.47%)
Mutual labels:  webpack, scss
Frontend Boilerplates
Collection of Boilerplates with ES6, Vue, React, Nuxt, TypeScript, SCSS, Nodejs. Using good practices and file structures to inspire your real projects.
Stars: ✭ 269 (+183.16%)
Mutual labels:  webpack, scss
Uicookbook
A few recipes and build workflows for UI dev
Stars: ✭ 19 (-80%)
Mutual labels:  webpack, scss
Tris Webpack Boilerplate
A Webpack boilerplate for static websites that has all the necessary modern tools and optimizations built-in. Score a perfect 10/10 on performance.
Stars: ✭ 1,016 (+969.47%)
Mutual labels:  webpack, scss

katatema

npm CircleCI

A handy static site generator using React.js.

  • Minimal setup
  • Intuitive templating
  • Hot reloading
  • SCSS support
  • Head support

Usage

Minimal setup

To start using it, run this inside a new directory:

npm install katatema --save
mkdir pages

Write ./pages/index.js as your 1st page:

import React from "react";
export default () => <div>Hello!</div>

Add a script to package.json like this:

{
  "scripts": {
    "serve": "katatema serve"
  }
}

Run it and open the preview server on http://localhost:3000:

npm run serve

image

That's all. No time-consuming configuration required. (e.g. .babelrc, webpack.config.js, gulpfile.js...)

Intuitive templating

We build sites like it's 1990s, or like PHP in those good old days. Files are translated into HTML pages by using the filesystem as an API. Add a JavaScript file at ./pages/index.js and it'll be converted to ./docs/index.html.

./pages/index.js  ---converted--->  ./docs/index.html
./pages/about.js  ---converted--->  ./docs/about.html
./pages/usage.js  ---converted--->  ./docs/usage.html

To build HTML files, add a script to package.json like this:

{
  "scripts": {
    "build": "katatema build"
  }
}

And then just run it.

npm run build

Hot reloading

All pages will automatically refreshed without page reloading on the preview server. This is powered by webpack's Hot Module Replacement feature in the background. Dramatically speed development.

demo

SCSS support

We officially support Sass to style pages. Import *.scss file as a React component, then embed it.

import React from "react";
import Style from "./main.scss";
export default () => (
  <div className="foo">
    <Style/>
    <h1 className="bar">Hello</h1>
  </div>
)
.foo {
  background-color: red;
}
.bar {
  color: white;
}
<style>
  .foo {
    background-color: red;
  }
  .bar {
    color: white;
  }
</style>
<div class="foo">
  <h1 class="bar">Hello</h1>
</div>

Head support

Use our <Head> component to append elements to the <head> of the page.

import Head from "katatema/head";
import React from "react";
export default () => (
  <div>
    <Head>
      <title>Hello</title>
    </Head>
    <p>Hello</p>
  </div>
)

FAQ

How to deploy to GitHub Pages?

gh-pages command line utility helps you deploy your site to GitHub Pages.

npm install gh-pages --save-dev

When using gh-pages, your package.json looks like this:

{
  "scripts": {
    "build": "katatema build",
    "serve": "katatema serve",
    "deploy": "npm run build && gh-pages --dist docs"
  }
}

Then you can simply invoke npm run deploy to deploy.

Cloning [email protected]:username/repo.git into node_modules/gh-pages/.cache
Cleaning
Fetching origin
Checking out origin/gh-pages
Removing files
Copying files
Adding all
Committing
Pushing
Published
What is this inspired by?
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].