Giter Club home page Giter Club logo

wembley's Introduction

wembley

Build Status

Introduction

Command-line utility to pretty-print a whole codebase into a document form. This output is usable for code reviews or archival purposes. Two formats are supported as of now: GitHub Flavoured Markdown and LaTeX (package minted used for source code rendering).

Usage

$ wembley --help
wembley - pretty-print a whole codebase into a document

Usage: wembley [-e|--extensions EXTS] (-n|--name NAME) [-f|--format FORMAT]
               (-o|--output PATH) [-d|--root-dir PATH]

Available options:
  -h,--help                Show this help text
  -e,--extensions EXTS     Comma-separated list of relevant file
                           extensions (default: "hs")
  -n,--name NAME           Name of the codebase. Appears in footers and as a
                           title
  -f,--format FORMAT       Format of the resulting document, supported: latex,
                           markdown (default: latex)
  -o,--output PATH         Location of the resulting document
  -d,--root-dir PATH       Root source directory path (default: ".")

Install

There are two methods of obtaining the utility:

  • running cabal install wembley
  • cloning this repo and running stack build --pedantic && stack exec wembley

Example

Running the following command in your shell:

$ git clone https://github.com/lovasko/m_list.git
$ wembley --extensions h,c       \
          --name       m_list    \
          --format     markdown  \
          --output     m_list.md \
          --root-dir   m_list/src

will yield this result. Output in the format latex, once rendered, looks like this.

License

The wembley utility is licensed under the terms of the 3-clause BSD license.

Author

Daniel Lovasko [email protected]

wembley's People

Contributors

lovasko avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

wembley's Issues

Please add c++ support

Hi , I really appreciate your work, this project is so wonderful.

I found that wembley doesn't support c++ now, please add the feature.

Makefile support

  • the highlighting utility should be able to properly highlight files with well-defined names, e.g. Makefile

Removal of the file system traversal

  • this can be done by the find Unix utility
  • it also enables adding files that do not have extensions, such as Makefiles
  • simplifies the codebase
  • instead, the list of files can be read from a file (stdin used, if not specified)
  • this would prevent some of the shell limitations when it comes to number of arguments

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.