Coder Social home page Coder Social logo

om-chauhan / menimal Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sandromaglione/menimal

0.0 0.0 0.0 262 KB

Generate a static html-only website from markdown and cssใƒปNo javascript, no package.json, focus on content ๐Ÿค

Home Page: https://www.sandromaglione.com/newsletter

License: MIT License

JavaScript 13.42% TypeScript 75.51% CSS 6.69% HTML 4.37%

menimal's Introduction

Menimal ๐Ÿค

GitHub: SandroMaglione Twitter: SandroMaglione

Menimal is a minimal static site generator.

Focus on content: just write markdown files, css styles, and everything else is generated for you

Menimal folder structure

Menimal is minimal by design:

  • No javascript (no package.json)
  • No HTML templates
  • No mdx
  • No SEO or metadata

Getting started

Menimal is a single npx script that you can run from everywhere without installing any package.

๐Ÿ‘‰ Make sure you have NodeJs installed on your machine

You just need to run a single command:

npx menimal

This will generate a build folder containing your static website.

Deploy

Hosting platforms allow to define a build command and an output folder:

  • Build command: npx menimal
  • Output folder: build

Deploy config

Menimal build folder

That's all. You can deploy Menimal everywhere ๐Ÿค


Folder structure

Menimal requires a precise folder structure:

  • pages: contains markdown files (.md)
  • static: contains static files (robots.txt, fonts, favicon.ico)
  • config.json: contains site configuration (minimal)
  • style.css: contains styles (single css file)

See complete and working example inside example folder

Every markdown file will correspond to an .html page in the website.

The name of the file .md is used to generate both the name of the HTML file and the title of the page:

  • HTML file: same as .md with all lowercase characters
  • Title: same as .md with - replaced by spaces

For example, This-is-the-Title-of-the-article.md will generate:

  • HTML: this-is-the-title-of-the-article.html
  • Title: This is the Title of the article

All the files inside static will be copied in the final build.

Here you can add images, fonts, robots.txt, favicon.ico, sitemap.xml, or anything really ๐Ÿ’๐Ÿผโ€โ™‚๏ธ

For now config requires a single field: the name of the website displayed in <header>:

{
  "name": "Sandro Maglione"
}

All the styles are defined in a single css file.

You can view the generated HTML structure of each file inside templates

This file will be minified and imported in every generated page.

Roadmap

  • Preload fonts in HTML
<link rel="preload" href="font.woff2" as="font" crossorigin type="font/woff2">

License

MIT License, see the LICENSE.md file for details.


Notes

This project is part of my weekly newsletter at sandromaglione.com.

sandromaglione.com Newsletter weekly project

Other static site generators

Development

  • Use npx --loglevel silly .. from example folder to debug npx command

Implementation

Read all the details of the implementation in the full article ๐Ÿ‘‡

Read the full article on my website

menimal's People

Contributors

sandromaglione avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.