• Stars
    star
    152
  • Rank 244,685 (Top 5 %)
  • Language
    Rust
  • License
    Mozilla Public Li...
  • Created about 4 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Moonwave is a tool for generating documentation from comments in Lua source code.
Moonwave

Moonwave

Moonwave is a command line tool for generating documentation from comments in Lua source code.

This repository contains three projects:

  • The Moonwave Extractor, a Rust program that parses Lua files and extracts the docs as JSON
  • A plugin for Docusaurus, written in React, which displays the JSON docs visually
  • The Moonwave CLI, which allows you to use both the extractor and the Docusaurus plugin without needing to know anything about how they work.

Key features

  • Easy to use: You can generate a website with little-to-no configuration and just a few comments in your Lua code.
  • Extensive validation system which can catch mistakes when something doesn't make sense.
  • Generates JSON from your doc comments, which can be consumed by many different tools.
  • Simple doc comment format that is easy to read directly when editing your code.

Demo

Check out the roblox-lua-promise docs. This website is completely generated by Moonwave!

Name

Lua is the moon. The moon is your code. The moon influences the waves in the ocean, just like your code influences its documentation. So.. moonwave!

Docs

Check out the Documentation website

Building in Development and Contributing

Requirements:

  1. Clone this repository
  2. in cli, run npm i, npm run tsc, and npm link
  3. in docusaurus-plugin-moonwave, run npm i
  4. in extractor, run cargo install --path . --locked
  5. in cli, run npm run dev
  6. in another terminal, navigate to the project you want to test with, and run MOONWAVE_DEV=1 moonwave dev

You should now be able to change files in the moonwave folder and things should live-reload on your development website. If they don't, Ctrl+C the moonwave dev terminal and restart it. If you continue to have issues, try adding the -i flag to reinstall all dependencies.

License

Moonwave is available under the terms of the Mozilla Public License Version 2.0. Terms and conditions are available in LICENSE.txt or at https://www.mozilla.org/en-US/MPL/2.0/.

More Repositories

1

Cmdr

Extensible command console for Roblox developers
Lua
361
star
2

roblox-lua-promise

Promise implementation for Roblox
Lua
275
star
3

matter

A modern ECS library for Roblox.
Lua
145
star
4

RoVer

This repo is RoVer V1, which is now deprecated and will no longer work. Get Rover V2 now: https://rover.link
JavaScript
145
star
5

Fabric

Fabric provides infrastructure for representing the state of things in your game.
Lua
59
star
6

EvLightning

EvLightning is a Roblox Lua library. Its purpose is to generate realistic-looking lightning bolts. This could be used to easily add lightning strike effects to any game
Lua
47
star
7

plasma

A declarative, immediate mode UI widget library for Roblox.
Lua
45
star
8

roblox-animation-transfer

Transfers Roblox animations from one owner to another.
TypeScript
43
star
9

RbxSync

[ARCHIVED] Third party IDE support for Roblox Studio.
MoonScript
31
star
10

Quicksave

DataStore abstraction library. Looking for a new maintainer.
Lua
29
star
11

Votum

A Discord bot for managing small party voting systems
TypeScript
25
star
12

Aurora

(Deprecated) Aurora is a library that can manage status effects (known as "Auras") in your Roblox game.
Lua
25
star
13

Roblox-FFlag-Watcher

Watches for and logs Roblox FFlag changes.
TypeScript
25
star
14

vscode-roblox-api-explorer

A Roblox API explorer built right into VSCode.
TypeScript
23
star
15

LuaAlgorithms

A repository of generic algorithms that can be used within Roblox and other environments.
Lua
20
star
16

Rocs

[ARCHIVED] Roblox Component System
Lua
19
star
17

RadialSpriteSheetGenerator

This is a web app that generates radial progress indicator sprite sheets right in the browser. Primarily made for Roblox, but will work for anything
TypeScript
13
star
18

vuepress-plugin-api-docs-generator

VuePress plugin for generating API reference pages.
Vue
9
star
19

discord-project-index-generator

Generates a Discord web hook embed of your projects in a server!
TypeScript
7
star
20

wallpaper-engine-spotify-helper

A helper application that allows Wallpaper Engine wallpapers (or anything really) see your currently playing Spotify track.
HTML
7
star
21

roblox-image-size

A Roblox plugin that gives you the pixels size of a Roblox image asset
Lua
6
star
22

evaera.github.io

My project portfolio website
SCSS
5
star
23

Bubbles

Bubbles are composable objects presented as an alternative to classical-style inheritance for Lua.
Lua
5
star
24

PollDancer

A surprisingly simple way to create beautiful reaction-based polls for your community
HTML
5
star
25

generator-eryn-ts

Generates a new TypeScript project according to my preferences
JavaScript
4
star
26

io-serve

npx-compatible REST API for simple file i/o over HTTP.
JavaScript
4
star
27

rbx-resources

Easily access game assets and create named instances with rbx-resources for roblox-ts
TypeScript
3
star
28

cmdr-lang

The language parser backing Cmdr v2
Lua
3
star
29

jpg2png

JavaScript
2
star
30

blender-addons

Python
1
star
31

RbxEasyUpload

1
star
32

Sentry

A decrepit Discord moderation bot. Not supported and not recommended.
JavaScript
1
star
33

gist

Lame github pages gist viewer
HTML
1
star
34

screen-scraper-qc-generator

CoffeeScript
1
star
35

branding

1
star