loreanvictor / seite

fastest way to build docs and blog posts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Create batteries-included docs and blogs from markdown and HTML files with zero configuration. Supports frontmatter, code highlighting, navigation, custom layouts and scripts, Web Components, and more.

npx seite

version GitHub Workflow Status


Work in Progress

This is a work in progress, and is not yet ready for use. I'll be adding more features and documentation as I go. In this bit I'll outline what Seite is supposed to become / achieve:

  • It should turn a README of a project into a nice looking doc with zero effort.
    npx seite
    
    # 👆 This should turn the README.md file into a 
    #    nice looking doc, ready to be deployed to gh-pages.
  • It should support long one-pager docs, as well as multi-page websites.
    # Intro
    
    Some intro text.
    
    <include src="./section-one.md" />
    <include src="./section-two.md" />
    
    <!-- It should also automatically generate ToC from these. -->
  • It should handle relative imports, and this should be the main mechanism it handles assets, scripts, layouts and styles.
    <img src="./logo.svg" />
    
    <link rel="stylesheet" href="../some.css" />
    <style>
      @import './some-other.css';
    </style>
    <script type="module">
      import * from '../some.js'
    </script>
    
    <!--
      Everything should be automatically packed alongside
      built files, also supporting assets imported from the scripts
      ands styles.
    -->
  • It should allow environmental styles, scripts, layouts, and frontmatter, so that the markdown files would still be readable on GitHub.
    <!-- README.md -->
    
    # Welcome to my project
    
    ...
    /* _seite.css */
    
    p {
      color: red;
    }
    /* This should be applied only when the site is built. */
    <!-- _seite.html -->
    <header>Some stuff</header>
    <slot></slot>
    <include src="./footer.md" />
    
    <!-- This acts as the layout for the page when it is built. -->
  • It should get all the minimal amount of config it needs from frontmatter (and environmental frontmatter).
    ---
    title: My Project
    description: This is my project.
    code theme light: A11YLight
    code theme dark: A11YDark
    ---
    
    # Welcome to my project
    
    ...
  • It should support Web Components with SSR for custom content.
    <h1>My Thoughts on Stuff</h1>
    <author-and-date></author-and-date>
    
    <!--
      The author and date info should also be automatically fetched
      from git commits, and the component should be able to pick
      these up at the server and the client.
      -->

Roadmap

  • Add environment manager
  • Add input management (multiple files, dest folders, etc)
  • Add support for html entries
  • Add chain asset management
    • Spin off style management and script management from asset management.
    • Handle bundling for scripts (incl. env) This can be done by bundling environmental scripts. Inline scripts can also be bundled, though this would require further care when handling layouts (relative imports in inline scripts within layouts should get path corrections).
    • Handle bundling for styles (incl. env) This can be done by bundling environmental styles. Inline styles can also be bundled, though this would require further care when handling layouts (relative imports in inline styles within layouts should get path corrections).
  • Add layout management (layout & include directives, incl. env)
  • Add environmental frontmatter and config management
  • Add auto ToC
  • Add Web Components support w/ SSR

About

fastest way to build docs and blog posts

License:MIT License


Languages

Language:JavaScript 96.1%Language:TypeScript 2.1%Language:CSS 1.9%