Socket
Socket
Sign inDemoInstall

vite

Package Overview
Dependencies
5
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    vite

A simple and minimal static site generator.


Maintainers
1

Readme

vite

A simple and mnml static site generator that Just Works™

Vite demo

Installation

$ pip install vite

Usage

$ vite init path/to/project
$ vite new blog/some-post.md   # `pages/` is implied

This creates pages/blog/some-post.md.

And then:

$ vite build   # in project directory

Rendered HTML will be in the build directory.

Finally, run:

$ vite serve  # also in the project directory

Configuration

Not very sophisticated, but basic configuration can be acheived using config.py found in the project directory. Example config:

# config.py 
title = ''
author = ''
header = ''
footer = '' 
template = 'index.html'  # default is templates/index.html
post_build = []          # list of commands to run post-build

Templating

Vite uses Jinja2 templating, so template files must be placed in a separate templates/ directory.
A basic example would be:

<link rel="stylesheet" href="/static/sakura-earthy.css">

<title> {{ title }} </title>

<body>
{{ body }}
</body>

<footer>
{{ footer }}
</footer>

Specifying per-page templates

Vite allows for specifying a unique template, per page. This is acheived by including YAML frontmatter at the top of the Markdown file, like so:

---
template: foo.html
title: Some fancy buzzwords here
subtitle: Cool catch phrase here
date: 2019-08-09
---

## markdown here
...

Notes on templating

  • Stylesheets, images and JS can be accessed from the static folder.
  • index.html, i.e. your website's homepage, should be _index.md in the pages/ directory.

Directory tree

example
├── build
├── config.py
├── pages
│   └── test.md
├── static
└── templates
    └── index.html

TODO

  • Templating
  • CSS support
  • Implement a simple HTTP server (later)
  • Add example site
  • Basic config (config.py)
  • Parsing frontmatter (JSON, YAML, TOML) for per-page options
  • Better support for home page (main index.html page)
  • More powerful frontmatter (title, date, draft status, etc.) (draft status is incomplete)
  • Deeper directories under pages/ (supports only one level now, breaks otherwise) (not happening)
  • Tagging system (not happening)

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc