markvis

make visualization in markdown. ??

Github星跟蹤圖

Markvis

Make visualization in markdown.

NPM version NPM downloads Build Coverage donate
FOSSA Status

Preview

Quick Start

Install

yarn add markvis --save
npm install markvis --save

Usage

const md = require('markdown-it')()
const vis = require('markvis')
const d3 = require('d3')  // in browser environment
const d3node = require('d3-node') // in node environment

md.use(vis).render(`
  your markdown content
`, {
  d3,    // in browser environment
  d3node // in node environment
})

there are Examples which in node environment.

Motivation

We often publish articles enriched with data, since data make them more convincing and easy to interpret. Hence, techniques that enable the embedding of visualization into texts are of great importance.

However, the most frequently used method now is to export charts as images, upload them into cloud, and then paste them into the editor. It is a tedious process from the perspective of a writer. Besides, image loading costs much more time than that of DOM elements, which leads to poor experience from the perspective of a reader.

API

There are many options you can config and below is some in common. But you'd better to config the options which related to chart style in chart options, such as markvis-bar, markvis-line, markvis-pie.

options

data
  • Type: Array

Data from file or web processed by d3 library.

d3
  • Type: Object

d3 library which used in browser environment.

d3node
  • Type: Function

d3-node constructor which used in node environment.

layout
  • Type: String

Name of chart layout. You can customize any chart layout you want.

render
  • Type: Function

Customized renderer to render a new layout you want.

container
  • Type: String
  • Default: <div id="container"><h2>Bar Chart</h2><div id="chart"></div></div>

DOM contained the visualization result.

selector
  • Type: String
  • Default: '#chart'

DOM selector in container.

style
  • Type: String
  • Default: ''

Chart style.

width
  • Type: Number
  • Default: 960

SVG width for chart.

height
  • Type: Number
  • Default: 500

SVG height for chart.

margin
  • Type: Object
  • Default: { top: 20, right: 20, bottom: 20, left: 20 }

Margin of the first wrapper in SVG, usually used to add axis.

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

LICENSE

markvis © geekplux, Released under the MIT License.
Authored and maintained by geekplux with help from contributors (list).

geekplux.com · GitHub @geekplux · Twitter @geekplux

FOSSA Status

主要指標

概覽
名稱與所有者geekplux/markvis
主編程語言JavaScript
編程語言JavaScript (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2017-07-02 03:04:42
推送於2023-09-16 03:32:07
最后一次提交2023-09-15 23:31:53
發布數11
最新版本名稱v0.0.12 (發布於 2017-07-13 09:24:33)
第一版名稱v0.0.2 (發布於 2017-07-02 11:06:42)
用户参与
星數1.6k
關注者數25
派生數61
提交數60
已啟用問題?
問題數9
打開的問題數2
拉請求數5
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?