An open API service indexing awesome lists of open source software.

https://github.com/andreaspitzer/literature

Run code written in Markdown.
https://github.com/andreaspitzer/literature

Last synced: 10 months ago
JSON representation

Run code written in Markdown.

Awesome Lists containing this project

README

          

# literature [![NPM version](https://badge.fury.io/js/literature.svg)](http://badge.fury.io/js/literature)
[![Build Status](https://travis-ci.org/AndreasPizsa/literature.svg)](https://travis-ci.org/AndreasPizsa/literature)

> Write literate code in Markdown, then use Literature to extract code blocks that you can pass to any compiler.

## Install
#### Install with [npm](npmjs.org)

```bash
npm i literature --save -g
```

## Usage
## Command line

```bash
npm i literature -g
literature
```

## API

```javascript
literature = require('literature');
console.log(literature('test.js.md'));
```

### Example
#### Input
`test.js.md`

```markdown
# Usage
Literature extracts (unfenced) code blocks - such as the following - from Markdown files:

literature = require('literature');
console.log(literature('test.js.md'));

Sending this file through Literature will output only the above two code lines.
```

#### Output
`test.js`
```javascript
literature = require('literature');
console.log(literature('test.js.md'));
```

## gulp

There’s a [gulp plugin](http://github.com/AndreasPizsa/gulp-literature).

```bash
npm install --save-dev gulp-literature
```

## About
Documentation often lives a separate life from code, in separate files, stored away in folders. Yet very often prose can make code more comprehensible, while code can be more expressive than prose. They are equally important and should be equal partners.

Literature lets you write prose and code in the same file where they both live not just side by side but together as equal, complementary partners, and that’s A Good Thing.

Literature generalizes the idea of Literate CoffeeScript to just any language. It’s just Markdown with code blocks, except that the code blocks are intended to be executed. There are basically only three rules:

* Regular, unfenced code blocks are executable code
* Fenced code blocks are documentation. (That’s handy for usage examples)
* `.litjs` or `.js.md` will result in a `.js` file, `.litc` or `.c.md` will create a `.c` file, etc.

## Issues
Please [report any bugs or feature requests](https://github.com/AndreasPizsa/literature/issues/new), thanks!

## Contribute

> Whatever value you'd like to add to the project, we'd love to have your help! If you'd like to take a more active role, get in touch! We'd be happy to help you get started!

* If you find this project useful please consider "starring" it to show your support!
* Find a bug? Have a feature request? Please [create an Issue](https://github.com/AndreasPizsa/literature/issues)
* In lieu of a formal styleguide please take care to maintain the existing coding style
* Add unit tests for any new or changed functionality

## Pull requests

Pull requests are encouraged! This project builds its our own documentation, so please remember to build the documentation with [Verb](https://github.com/assemble/verb) before you submit your pull request! Please don't edit the readme or other docs directly, edit their respective templates instead.

### Building the docs

To build the docs, first make sure [verb-cli](https://github.com/assemble/verb-cli) is installed globally (`npm i -g verb-cli`), then just follow these simple steps:

* Edit the templates in the ['docs/' directory](./docs), and/or [.verbrc.md](./.verbrc.md)
* Run `verb` in the command line
* Pull request!

Thanks!

## Author

**Andreas Pizsa**

+ [github/AndreasPizsa](https://github.com/AndreasPizsa)
+ [twitter/AndreasPizsa](http://twitter.com/AndreasPizsa)

## License
Copyright (c) 2014 Andreas Pizsa, contributors.
Released under the [MIT license](LICENSE-MIT).

***

_This file was generated by [gulp-verb](https://github.com/assemble/gulp-verb) on September 29, 2014._