Coder Social home page Coder Social logo

dadada's Introduction

Crates.io License: MIT GitHub last commit Travis (.org)

Artisanal Rust inlined code documentation renderer

Here Screenshot / Action video

Install rust

For this to work you need to have rust installed. You can do this with sudo pacman -S rustup, or any other package manager.

Install

You can install it quite easily with cargo install dadada.

Usage

dadada will be installed as command line tool for you to run. Just specify the files you want to have rendered and it will do so. If you do not provide a target output file (--output / -o) the result will be printed to stdout.

The full list of cli arguments is:

Benjamin Kampmann <[email protected]>, Rui Vieira <[email protected]>
Artisanal Rust inlined code documentation renderer

USAGE:
    dadada [FLAGS] [OPTIONS] <FILE>...

FLAGS:
    -h, --help       Prints help information
        --no-css     Do not add CSS to output
        --no-js      Do not add Javascript to output
    -V, --version    Prints version information

OPTIONS:
    -o, --output <FILE>     target file to render to, stdout if not given
    -t, --title <String>    The HTML title to render

ARGS:
    <FILE>...    rust source files

An example to render all the rust files in your crate under target/dadada-output.html therefor would be: dadada --title "All my Code Example" -o target/dadada-output.html src/*.rs.

Help wanted!

Credits

This is inspired by docco by Bardadym Denis (sadly discontinued) and based off of the Rust tool dada by Rui Vieira

dadada's People

Contributors

gnunicorn avatar ruivieira avatar phantomion avatar

Stargazers

Jeff Carpenter avatar Antonio Yang avatar Marcus Willock avatar Aria avatar Kangwook Lee (이강욱) avatar David Futcher avatar Sharad Mehrotra avatar Andrew Jones avatar caojiafeng avatar Sergei Shulepov avatar Cedric Hutchings avatar Christoph Grabo avatar Shirshak avatar Hendrik Sollich avatar Kian Paimani avatar

Watchers

James Cloos avatar

dadada's Issues

Regression test suite

heading towards 1.0 we want to build up a regression test suite of examples and their valid output, as well as some borked cases, to ensure everything stays consistent following 1.0 .

build.rs support

Let's create support to have the library included in build.rs and build the documentation for all examples of a project, and further indicated files in the cargo.toml.

Offline viewable

Right now prismjs is pulled from cloudflare when you access the resulting page. That is not great, the html should work fine in offline mode. Let's just directly include all we need into the html directly.

Add `--meta`, `--header` and `--footer`-cli params for customisation

The template is baked into the binary, which is fine, but doesn't allow for much customization. A simple way we could change that, is by allowing the user to provide additional files via --meta. --header and --footer to be included in the final result. These should also be pre-processed with markdown if their file extension indicates so. The cli param description should make that clear.

HTML doesn't float.

The flexbox doesn't float properly on mobile devices. We might want to break down the sections on very small screens, don't attempt to have them side-by-side but just under one another with a bit of space to give visual clue what it each belongs to.

Readme needs some LUV

The readme is very short and barebone at the moment. It should be expanded and explain in more detail. I see the following sections as useful:

  • Screenshot / example code and example rendering
  • cargo install-command
  • how to use / cli params
  • License section

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.