<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>geekplux (GeekPlux)</title>
    <link>https://ruby-china.org/geekplux</link>
    <description>My brain has two parts: left &amp; right. My left brain has nothing right, my right brain has nothing left.</description>
    <language>en-us</language>
    <item>
      <title>Markvis - 在 markdown 中生成可视化图表</title>
      <description>&lt;p&gt;今天在这里给大家分享一个 markdown-it 插件，能让你在 markdown 中通过几行代码就生成一个可视化图表📊。&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;项目主页：&amp;nbsp;&lt;a href="https://markvis.js.org/" rel="nofollow" target="_blank" title=""&gt;https://markvis.js.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;在线编辑器体验一下：&amp;nbsp;&lt;a href="https://markvis-editor.js.org/" rel="nofollow" target="_blank" title=""&gt;https://markvis-editor.js.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;源码：&amp;nbsp;&lt;a href="https://github.com/geekplux/markvis" rel="nofollow" target="_blank" title=""&gt;https://github.com/geekplux/markvis&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://i.loli.net/2017/07/13/5966c9acb6509.png" title="" alt="preview"&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="为什么要做这个工具"&gt;为什么要做这个工具&lt;/h2&gt;
&lt;p&gt;有时候写文章需要插入一些数据来增强说服力，但是单纯的数字又不直观，所以可视化图表是必须的。紧接着就会出现一个问题：如何把图表添加到文章中。通常的做法是用一些现成的工具生成图片，然后把图片贴到文章中。这样一来就非常繁琐，尤其是用 markdown 写作时你还得把图片先上传到一个图床中。另一方面，访客阅读文章时，图片的加载比网页元素肯定更耗时。一旦加载过慢就会给阅读造成非常不好的体验。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="怎么使用"&gt;怎么使用&lt;/h2&gt;
&lt;p&gt;如果你的编辑器用了 markdown-it 来做解析器，那就可以非常方便的使用 markvis。和一般的 markdown-it 插件一样：&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;md&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;markdown-it&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)()&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;vis&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;markvis&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;d3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;d3&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;// in browser environment&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;d3node&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;d3-node&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// in node environment&lt;/span&gt;

&lt;span class="nx"&gt;md&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;vis&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;render&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`
  your makrdown content
`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;d3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;    &lt;span class="c1"&gt;// in browser environment&lt;/span&gt;
  &lt;span class="nx"&gt;d3node&lt;/span&gt; &lt;span class="c1"&gt;// in node environment&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里的选项可以参考&lt;a href="https://markvis.js.org" rel="nofollow" target="_blank" title=""&gt;文档&lt;/a&gt;。&lt;/p&gt;

&lt;hr&gt;
&lt;h2 id="现状"&gt;现状&lt;/h2&gt;
&lt;p&gt;目前这个项目是我业余抽时间写的，还比较简陋，只提供三种最常用的图表：&lt;a href="https://github.com/geekplux/markvis-bar" rel="nofollow" target="_blank" title=""&gt;条形图&lt;/a&gt;，&lt;a href="https://github.com/geekplux/markvis-line" rel="nofollow" target="_blank" title=""&gt;折线图&lt;/a&gt;和&lt;a href="https://github.com/geekplux/markvis-pie" rel="nofollow" target="_blank" title=""&gt;饼状图&lt;/a&gt;。但是不要担心，你可以通过 API 来自定义新的图表。只要你会一点 d3，就都可以轻松开发出一个新的图表布局（将来可以整合更多的可视化库和 markdown 解析器）。欢迎大家来完善目前的三种基本图表，也欢迎添加你觉得有用的图表。&lt;/p&gt;

&lt;hr&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;另外，小弟快毕业了，要找工作，求收留&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <author>geekplux</author>
      <pubDate>Fri, 14 Jul 2017 19:22:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/33509</link>
      <guid>https://ruby-china.org/topics/33509</guid>
    </item>
  </channel>
</rss>
