如何用OpenWrite書寫技術(shù)博客并在多平臺(tái)分發(fā)

最近發(fā)現(xiàn)一個(gè)用于編輯和多平臺(tái)發(fā)布博客文章的工具OpenWrite,決定嘗試一下使用這個(gè)工具書寫技術(shù)博客。下面分享一下使用的心得。

首先OpenWrite目前只支持Markdown語(yǔ)言,Markdown用于書寫文章非常方便,現(xiàn)在已經(jīng)被廣泛使用,但是Markdown的能力畢竟有限,對(duì)于寫技術(shù)文章來說,可能有一些限制。技術(shù)文章除了常見的格式和排版要求之外,還有至少如下的需求:

  • 代碼顯示
  • 數(shù)學(xué)公式
  • 參考引用

OpenWrite能否對(duì)以上功能給予支持呢?

標(biāo)準(zhǔn)語(yǔ)法

markdown的標(biāo)準(zhǔn)語(yǔ)法可以參考如下鏈接 markdown-guide

代碼顯示功能

標(biāo)準(zhǔn)語(yǔ)法提供了代碼顯示功能,只是不知道在OpenWrite里面的顯示效果如何,嘗試如下:

C++

include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
 
using namespace std;
using namespace cv;
 
int main(int argc, const char * argv[]) {
    // insert code here...
    int sz[] = { 3, 4, 6};  //倒著存放,對(duì)應(yīng)三維立體圖像的高、寬、長(zhǎng)
    Mat Img = Mat(3,sz, CV_16SC4, Scalar::all(0));
    cout<<"三維圖像的維度:"<<Img.dims<<endl;
    cout<<"三維圖像的通道數(shù):"<<Img.channels()<<endl;
    
    cout<<"三維圖像的長(zhǎng):"<<6<<endl;
    cout<<"三維圖像的寬:"<<Img.size().width<<endl;
    cout<<"三維圖像的高:"<<Img.size().height<<endl;
    
    cout<<"存放一個(gè)數(shù)字的大小 = sizeof(short) = 16/8 = "<<Img.elemSize1()<<endl;
    cout<<"存放一個(gè)像素點(diǎn)的大小:"<<Img.elemSize()<<endl;
    
    cout<<"平面的大小 -> Img.step[0] = "<<Img.step[0]<<endl;  //長(zhǎng) ?? 寬 ?? elemSize() = 6 * 4 * 8 = 192
    cout<<"行的大小   -> Img.step[1] = "<<Img.step[1]<<endl;  //長(zhǎng) ?? elemSize() = 48
    cout<<"元素的大小 -> Img.step[2] = "<<Img.step[2]<<endl;  //元素的大小
    
    /*尋址方法*/
    unsigned char * addrM012 = NULL;
    addrM012 = Img.data + Img.step[0] * 0 + Img.step[1] * 1 + Img.step[2] * 2;
    cout<<"數(shù)據(jù)開始地址:"<<(void*)Img.data<<endl;
    cout<<"Img[0,1,2] 的地址是:"<<(void*)addrM012<<endl;
    return 1;
}

python

#coding:utf-8
import numpy as np

np.zeros([10,10])
a = (0,1,3,8)
for i in a:
    print(i)

Java

import java.util.Map;    
import java.util.HashMap;    
import java.util.Set;    
import java.util.HashSet;    
import java.util.Iterator;    
import java.util.Hashtable;    
import java.util.TreeMap;    
class  HashMaps    
{    
       public static void main(String[] args)     
      {    
            Map map=new HashMap();                
            map.put("a", "aaa");    
            map.put("b", "bbb");    
            map.put("c", "ccc");    
            map.put("d", "ddd");    
               
            Iterator iterator = map.keySet().iterator();                
            while (iterator.hasNext()) {    
             Object key = iterator.next();    
             System.out.println("map.get(key) is :"+map.get(key));    
            }           
            Hashtable tab=new Hashtable();                
            tab.put("a", "aaa");    
            tab.put("b", "bbb");    
            tab.put("c", "ccc");    
            tab.put("d", "ddd");    
            Iterator iterator_1 = tab.keySet().iterator();    
            while (iterator_1.hasNext()) {    
             Object key = iterator_1.next();    
             System.out.println("tab.get(key) is :"+tab.get(key));    
            }             
            TreeMap tmp=new TreeMap();                
            tmp.put("a", "aaa");    
            tmp.put("b", "bbb");    
            tmp.put("c", "ccc");    
            tmp.put("d", "ddd");    
            Iterator iterator_2 = tmp.keySet().iterator();    
            while (iterator_2.hasNext()) {    
             Object key = iterator_2.next();    
             System.out.println("tmp.get(key) is :"+tmp.get(key));    
            }             
       }    
}    

顯示代碼沒有問題。

數(shù)學(xué)公式

OpenWrite 目前只支持標(biāo)準(zhǔn)的markdown語(yǔ)法,無(wú)法顯示數(shù)學(xué)公式(markdown-enhanced 語(yǔ)法支持latex格式的數(shù)學(xué)公式),強(qiáng)烈建議以后支持該功能。

替代辦法

用圖片代替公式是一個(gè)不錯(cuò)的選擇,在這里不得不推薦一個(gè)超級(jí)好用的工具,Mathpix,可直接將截圖識(shí)別為latex公式,提供png格式、不同latex格式和MathML格式的拷貝,使用中可直接將圖片復(fù)制到文中即可。
從文獻(xiàn)書籍上的截圖:

file

利用Mathpix一鍵生成的新公式圖片:

file

可見圖片質(zhì)量有明顯提升。此外還可以很方便地對(duì)公式進(jìn)行加工修改,修改之后直接生成新的圖片,以下是將函數(shù)名簡(jiǎn)單修改后的結(jié)果:

file

參考引用

標(biāo)準(zhǔn)markdown語(yǔ)法里也不支持對(duì)參考文獻(xiàn)和圖片的引用,這個(gè)目前沒有找到合適的替代方法,不過這個(gè)需求并不強(qiáng),也可以手動(dòng)添加引用進(jìn)去。

功能亮點(diǎn)

  • 多平臺(tái)同時(shí)發(fā)布,這個(gè)功能五星好評(píng)。
  • 目前雖然不支持微信公眾號(hào),但是可以在預(yù)覽界面將文章復(fù)制到微信后臺(tái),直接粘貼,非常方便,五星好評(píng)。

總結(jié)

總之,用OpenWrite來寫技術(shù)文章基本滿足要求,最主要的是它支持在多個(gè)平臺(tái)同時(shí)發(fā)布,值得嘗試一下。

本文由博客群發(fā)一文多發(fā)等運(yùn)營(yíng)工具平臺(tái) OpenWrite 發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容