remarkable
Advanced tools
Comparing version 0.1.0 to 1.0.0
12
index.js
@@ -1,12 +0,4 @@ | ||
/*! | ||
* remarkable <https://github.com/jonschlinkert/remarkable> | ||
* | ||
* Copyright (c) 2014 Jon Schlinkert, contributors. | ||
* Licensed under the MIT license. | ||
*/ | ||
'use strict'; | ||
module.exports = function () { | ||
// do stuff | ||
}; | ||
module.exports = require('./lib/'); |
{ | ||
"name": "remarkable", | ||
"description": "Markdown parser and lexer.", | ||
"version": "0.1.0", | ||
"version": "1.0.0", | ||
"description": "Markdown parser, done right. Commonmark support, extensions, syntax plugins, high speed - all in one.", | ||
"keywords": [ | ||
"markdown", | ||
"md", | ||
"commonmark", | ||
"parser" | ||
], | ||
"homepage": "https://github.com/jonschlinkert/remarkable", | ||
"author": { | ||
"name": "Jon Schlinkert", | ||
"url": "https://github.com/jonschlinkert" | ||
}, | ||
"repository": { | ||
@@ -17,22 +19,20 @@ "type": "git", | ||
}, | ||
"licenses": [ | ||
{ | ||
"type": "MIT", | ||
"url": "https://github.com/jonschlinkert/remarkable/blob/master/LICENSE-MIT" | ||
} | ||
], | ||
"license": "MIT", | ||
"main": "index.js", | ||
"engines": { | ||
"node": ">=0.10.0" | ||
"dependencies": { | ||
"argparse": "~ 0.1.15", | ||
"autolinker": "~ 0.12.3" | ||
}, | ||
"scripts": { | ||
"test": "mocha -R spec" | ||
}, | ||
"devDependencies": { | ||
"verb": ">= 0.2.6", | ||
"mocha": "*" | ||
}, | ||
"keywords": [ | ||
"markdown" | ||
] | ||
"ansi": "^0.3.0", | ||
"autoprefixer-stylus": "^0.3.0", | ||
"benchmark": "^1.0.0", | ||
"browserify": "*", | ||
"eslint": "0.8.0", | ||
"eslint-plugin-nodeca": "^1.0.0", | ||
"jade": "^1.6.0", | ||
"stylus": "^0.49.1", | ||
"mocha": "*", | ||
"uglify-js": "*" | ||
} | ||
} |
194
README.md
@@ -1,33 +0,193 @@ | ||
# remarkable [![NPM version](https://badge.fury.io/js/remarkable.svg)](http://badge.fury.io/js/remarkable) | ||
cooming soon | ||
> Markdown parser and lexer. | ||
remarkable | ||
========== | ||
[![Build Status](https://travis-ci.org/jonschlinkert/remarkable.svg?branch=master)](https://travis-ci.org/jonschlinkert/remarkable) | ||
[![NPM version](https://img.shields.io/npm/v/remarkable.svg)](https://www.npmjs.org/package/remarkable) | ||
Markdown parser done right. Fast and easy to extend. | ||
__[Live demo](http://jonschlinkert.github.io/remarkable/demo/)__ | ||
- Configurable syntax! You can add new rules and even replace existing ones. | ||
- Implements [CommonMark](http://commonmark.org/) spec + extentions | ||
(strikethrough, tables, URL autolinking, typographer). | ||
- Very high speed. | ||
## Install | ||
#### Install with [npm](npmjs.org): | ||
node.js: | ||
```bash | ||
npm i remarkable --save-dev | ||
npm install remarkable --save | ||
``` | ||
bower: | ||
```bash | ||
bower install remarkable --save | ||
``` | ||
## Usage | ||
```js | ||
var markdown = require('remarkable'); | ||
console.log(markdown('# Remarkable')); | ||
//=> <h1>Remarkable</h1> | ||
var Remarkable = require('remarkable'); | ||
// This values are default | ||
var md = new Remarkable({ | ||
html: false, // Enable html tags in source | ||
xhtmlOut: false, // Use '/' to close single tags (<br />) | ||
breaks: false, // Convert '\n' in paragraphs into <br> | ||
langPrefix: 'language-', // CSS language prefix for fenced blocks | ||
linkify: false, // Autoconvert url-like texts to links | ||
typographer: false, // Enable smartypants and other sweet transforms | ||
// Highlighter function. Should return escaped html, | ||
// or '' if input not changed | ||
highlight: function (/*str, , lang*/) { return ''; } | ||
}); | ||
console.log(md.parse('# Remarkable rulezz!')); | ||
// => <h1>Remarkable rulezz!</h1> | ||
``` | ||
## Author | ||
You can define options via `set` method: | ||
**Jon Schlinkert** | ||
+ [github/jonschlinkert](https://github.com/jonschlinkert) | ||
+ [twitter/jonschlinkert](http://twitter.com/jonschlinkert) | ||
```js | ||
var Remarkable = require('remarkable'); | ||
var md = new Remarkable(); | ||
md.set({ | ||
html: false, | ||
breaks: true | ||
}); | ||
``` | ||
__Note.__ To acheive best performance, don't modify `Remarkable` instance on | ||
the fly. If you need several configurations - create multiple instances and | ||
setup each appropriately. | ||
You can also reset parser to strict [CommonMark](http://commonmark.org/) mode: | ||
```js | ||
var Remarkable = require('remarkable'); | ||
var md = new Remarkable('commonmark'); | ||
``` | ||
### Highligh fenced blocks | ||
To highlight content of fenced block, assing function to `highlight` option: | ||
```js | ||
var Remarkable = require('remarkable'); | ||
var hljs = require('highlight.js') // https://highlightjs.org/ | ||
// This values are default | ||
var md = new Remarkable({ | ||
highlight: function (str, lang) { | ||
if (lang && hljs.getLanguage(lang)) { | ||
try { | ||
return hljs.highlight(lang, str).value; | ||
} catch (__) {} | ||
} | ||
try { | ||
return hljs.highlightAuto(str).value; | ||
} catch (__) {} | ||
return ''; // use external default escaping | ||
} | ||
}); | ||
``` | ||
### Typorgapher | ||
Though full weigh typograpic replacements are language specific, `remarkable` | ||
provides the most common and universal case coverage: | ||
```js | ||
var Remarkable = require('remarkable'); | ||
var md = new Remarkable({ typographer: true }); | ||
// This values are default | ||
md.typographer.set({ | ||
singleQuotes: '‘’', // set empty to disable | ||
doubleQuotes: '“”', // set '«»' for russian, '„“' for deutch, empty to disable | ||
copyright: true, // (c) (C) → © | ||
trademark: true, // (tm) (TM) → ™ | ||
registered: true, // (r) (R) → ® | ||
plusminus: true, // +- → ± | ||
paragraph: true, // (p) (P) -> § | ||
ellipsis: true, // ... → … (also ?.... → ?.., !.... → !..) | ||
dupes: true, // ???????? → ???, !!!!! → !!!, `,,` → `,` | ||
dashes: true // -- → –, --- → — | ||
}) | ||
``` | ||
Of cause, you can add your own rules or replace default one with something | ||
more advanced, specific for your language. | ||
### More extras | ||
This extentions are enabled by default: | ||
- [Strikethrough](https://help.github.com/articles/github-flavored-markdown/#strikethrough) | ||
- [Tables](https://help.github.com/articles/github-flavored-markdown/#tables) (GFM) | ||
## References / Thanks | ||
Big thanks to [John MacFarlane](https://github.com/jgm) for his work on | ||
CommonMark spec and reference implementations. His work saved us a lot of time | ||
during this project development. | ||
Links: | ||
1. https://github.com/jgm/stmd - reference CommonMark implementations in C & JS, | ||
also contains latest spec & online demo. | ||
2. http://talk.commonmark.org - CommonMark forum, good place to collaborate | ||
developpers efforts. | ||
## Development / Modification | ||
Parser consists of several responsibilities chains, filled with rules. You can | ||
reconfigure anyone as you wish. Render also can be modified and extended. See | ||
source code to understand details. Pay attention to this properties: | ||
```js | ||
Remarkable.block | ||
Remarkable.block.ruler | ||
Remarkable.inline | ||
Remarkable.inline.ruler | ||
Remarkable.typographer | ||
Remarkable.typographer.ruler | ||
Remarkable.linkifier | ||
Remarkable.linkifier.ruler | ||
Remarkable.renderer | ||
Remarkable.renderer.rules | ||
``` | ||
To prettify plugins init, `Remarked` has `.use()` helper for curried calls: | ||
```js | ||
var md = new Remarkable(); | ||
md.use(plugin1) | ||
.use(plugin2, opts) | ||
.use(plugin3); | ||
``` | ||
## Authors | ||
- Jon Schlinkert [github/jonschlinkert](https://github.com/jonschlinkert) | ||
- Alex Kocharin [github/rlidwka](https://github.com/rlidwka) | ||
- Vitaly Puzrin [github/puzrin](https://github.com/puzrin) | ||
## License | ||
Copyright (c) 2014 Jon Schlinkert, contributors. | ||
Released under the MIT license | ||
*** | ||
_This file was generated by [verb-cli](https://github.com/assemble/verb-cli) on August 29, 2014._ | ||
[MIT](https://github.com/jonschlinkert/remarkable/blob/master/LICENSE) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No contributors or author data
MaintenancePackage does not specify a list of contributors or an author in package.json.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Trivial Package
Supply chain riskPackages less than 10 lines of code are easily copied into your own project and may not warrant the additional supply chain risk of an external dependency.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
448656
56
12485
194
2
10
1
7
3
+ Addedargparse@~ 0.1.15
+ Addedautolinker@~ 0.12.3
+ Addedargparse@0.1.16(transitive)
+ Addedautolinker@0.12.5(transitive)
+ Addedunderscore@1.7.0(transitive)
+ Addedunderscore.string@2.4.0(transitive)