Coder Social home page Coder Social logo

astro-mithril's Introduction

astro-mithril ⚛️

This Astro integration enables server-side rendering and client-side hydration for your Mithril components.

Why Mithril?

Mithril is an extremely lightweight and flexible client-side JavaScript framework. It's small (<10 kb gzip) but powerful and fun to work with. The Astro starter project with a simple Mithril button & counter loaded a total of 37.8 kB. The identical Astro starter project with the same button & counter rendered by React loaded 150 kB.

Installation

Quick Install

The astro add command-line tool automates the installation for you. Run one of the following commands in a new terminal window. (If you aren't sure which package manager you're using, run the first command.) Then, follow the prompts, and type "y" in the terminal (meaning "yes") for each one.

# Using NPM
npx astro add astro-mithril
# Using Yarn
yarn astro add astro-mithril
# Using PNPM
pnpm astro add astro-mithril

If you run into any issues, feel free to report them to us on GitHub and try the manual installation steps below.

Install dependencies manually

First, install the astro-mithril integration like so:

npm install astro-mithril

Most package managers will install associated peer dependencies as well. Still, if you see a "Cannot find package 'mithril'" (or similar) warning when you start up Astro, you'll need to install mithril and mithril-node-render:

npm install mithril mithril-node-render

Now, apply this integration to your astro.config.* file using the integrations property:

astro.config.mjs

import { defineConfig } from 'astro/config';
import mithril from 'astro-mithril';

export default defineConfig({
  // ...
  integrations: [mithril()],
});

Getting started

To use your first Mithril component in Astro, head to the Astro UI framework documentation. You'll explore:

  • 📦 how framework components are loaded,
  • 💧 client-side hydration options, and
  • 🤝 opportunities to mix and nest frameworks together

Example

Check out the example in the /example folder

Troubleshooting

For help, check out the #support channel on Discord.

You can also check our Astro Integration Documentation for more on integrations.

Contributing

This package is maintained by pep108. You're welcome to submit an issue or PR!

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.