MDNICE使得你只需要关注内容

MDNICE微信(知乎)排版网站

MDNICE网站的确是微信排版神器,它使得你只需要关注内容,将排版交给已定义的模板。今天就试用了它的一个模板,立即使得原来自己的推文面目一新了。
MDNICE排版软件MDNICE排版软件

在MDNICE编辑器中定义了很多不同各具特色的排版模板,下面就是其中几个,将原来内容排成不同风格的外观。随着你的高兴可以自行挑选,也可以自己修改,留着自己用。

主题示例1主题示例1
 
主题示例2主题示例2
 
主题示例3主题示例3

将CSDN快速转到MDNICE进行排版

1. 打开MDNICE网页并清空

利用webbrowser打开网站地址:http://www.mdnice.com

import webbrowser
webbrowser.open('http://www.mdnice.com')

在打开mdnice之前,需要检查一下是否该网站已经打开了:

def checkmdnice(waittime=0):
    begintime = time.time()
    while True:
        windowstr = tspgetwindowtitle()
        for s in windowstr:
            if s.find(mdnice_title) >= 0:
                return 1;
        if time.time() - begintime >= waittime: return 0

随着不同的网络环境,检查所需要的时间不同。

if checkmdnice(0) == 0:
    webbrowser.open('http://www.mdnice.com')
if checkmdnice(10) == 0:
    printf('Can not open MDNICE .....')
    exit()

然后在通过发送快捷键:ctrl+A, del,将原来的mdnice编辑窗口里所有已经存在的内容情况。
由于打开mdnice的时候,它的编辑焦点可能不在编辑窗口,所以在发送ctrl+A, delete组合之前,先发送若干TAB键。这样就可以确保清空mdnice。

下面是全部的代码:

import webbrowser

#------------------------------------------------------------
csdn_title = '写文章-CSDN博客'
mdnice_title = '让微信排版变 Nice'
#------------------------------------------------------------
def checkmdnice(waittime=0):
    begintime = time.time()
    while True:
        windowstr = tspgetwindowtitle()
        for s in windowstr:
            if s.find(mdnice_title) >= 0:
                return 1;
        if time.time() - begintime >= waittime: return 0
#
#------------------------------------------------------------
if checkmdnice(0) == 0:
    webbrowser.open('http://www.mdnice.com')

if checkmdnice(10) == 0:
    printf('Can not open MDNICE .....')
    exit()
#
#------------------------------------------------------------
tspsendwindowkey(mdnice_title, '\t\t\t\t\t\t\t\t\t\t')
tspsendwindowkey(mdnice_title, "a", control=1)
tspsendwindowkey(mdnice_title, "%c"%M1_DELETE, vk=1)

将CSDN中的内容粘贴到mdnice中

虽然可以通过csnd的“导出”功能,将原来csnd中的文章存储在文件夹中,然后在通过mdnice中的导入功能,对csdn文章内容进行编辑。但这种方式比较繁琐。

最简单的方式就是利用Window的剪切板(clipboard),通过向csnd发送ctrl+a, ctrl+c(全选,拷贝)快捷键,将csdn中Markdown编辑区的内容拷贝到Window的剪切板。然后在想mdnice发送粘贴功能。

由于csdn是面向浏览器排版的,其中有些命令不适合在微信中使用。因此,在将csdn中的内容转向mdnice之前需要处理一下:

1. 将原来在csdn中的空白行去掉。
因为利用mdnice中的模板,各个章节、段落之间的空白已经进行了优化。这些用于csdn的排版空白行需要滤除。空白行主要有三种形式:

      (1)   
      (2)  <br/>
      (3)  $~$

2. 将csdn中对于图片尺寸定义去除

![xxxx](image urlxxxxx#pic_center =widthxheight)

将其中的 =widthxheight去除,因为它的存在可能使得在微信中不兼容显示。

处理代码如下:

tspsendwindowkey(csdn_title, "ac", control=1)
csdnstrsect = clipboard.paste().split('\n')
pastestr = ''

for s in csdnstrsect:
    if s.find('&nbsp;') >= 0:   continue
    if s.find('$~$') >= 0:      continue
    if s.find('<br/>') >= 0:    continue
    if s.find('#pic_center =') >= 0:
        ss = s.split('#')

        ssall = ss[0] + '#pic_center)' + ss[1].split(')')[1]
        s = ssall
    pastestr = pastestr + s +'\n'
clipboard.copy(pastestr)

心动不如行动,现在就开始试试吧…

全部代码

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CD2MD.PY                    -- by Dr. ZhuoQing 2020-02-05
#
# Note:
#============================================================

from head import *
import webbrowser

#------------------------------------------------------------
csdn_title = '写文章-CSDN博客'
mdnice_title = '让微信排版变 Nice'


#------------------------------------------------------------
def checkmdnice(waittime=0):
    begintime = time.time()

    while True:
        windowstr = tspgetwindowtitle()

        for s in windowstr:
            if s.find(mdnice_title) >= 0:
                return 1;


        if time.time() - begintime >= waittime: return 0
#
#------------------------------------------------------------
if checkmdnice(0) == 0:
    webbrowser.open('http://www.mdnice.com')

if checkmdnice(10) == 0:
    printf('Can not open MDNICE .....')
    exit()
#
#------------------------------------------------------------
tspsendwindowkey(mdnice_title, '\t\t\t\t\t\t\t\t\t\t')
tspsendwindowkey(mdnice_title, "a", control=1)
tspsendwindowkey(mdnice_title, "%c"%M1_DELETE, vk=1)

#------------------------------------------------------------
tspsendwindowkey(csdn_title, "ac", control=1)
csdnstrsect = clipboard.paste().split('\n')
pastestr = ''

#------------------------------------------------------------
notedim = []

for s in csdnstrsect:
    n1 = s.find('[^')
    n2 = s.find(']:')
    if n1 >= 0 and n2 >= 0 and n2 - n1 < 5:
        notedim.append(s)

#------------------------------------------------------------
for s in csdnstrsect:
    # Get rid all the space line off
    if s.find('&nbsp;') >= 0:   continue
    if s.find('$~$') >= 0:      continue
    if s.find('<br/>') >= 0:    continue


    # Change the formulate space into \space
    if s.count('$') >= 2:
        printf(s)
        s = s.replace('\,', '\space').replace('\:', '\space')


    #--------------------------------------------------------
    # Process the note string

    n1 = s.find('[^')
    n2 = s.find(']:')
    if n1 >= 0 and n2 >= 0 and n2 - n1 < 5:
        continue

    n2 = s.find(']')
    if n1 >= 0 and n2 >= 0 and n2 - n1 < 5:
        replacestring = ''
        for nd in notedim:
            if nd.find(s[n1:n2+1]) >= 0:
                sbs1 = nd.find(']:')
                if sbs1 >= 1:
                    sstemp = nd[sbs1+2:]
                    notepos = sstemp.find(' : ')
                    nextspace = 0
                    if notepos < 0:
                        notepos = sstemp.find(': ')
                        if notepos < 0:
                            notepos = sstemp.find(' :')
                            if notepos < 0:
                                notepos = sstemp.find(':')
                                if notepos >= 0:
                                    nextspace = 3
                            else: nextspace = 2
                        else: nextspace = 2
                    else: nextspace = 3

                    if nextspace > 0:
                        explainstr = sstemp[0:notepos].rstrip(' ')
                        notestr = sstemp[notepos+nextspace:]
                    else:
                        explainstr = s[n1:n2+1]
                        notestr = sstemp

                    replacestring = '[](%s \"%s\")'%(notestr, explainstr)

                break

        news = s[0:n1] + replacestring + s[n2 + 1:]
        s = news

    if s.find('#pic_center') >= 0:
        ss = s.split('#')

        ssall = '\r\n' + ss[0] + '#pic_center)' + '\r\n'#+ ss[1].split(')')[1]
        s = ssall

    pastestr = pastestr + s +'\n'

clipboard.copy(pastestr)

#------------------------------------------------------------
tspsendwindowkey(mdnice_title, "v", control=1)
printf('\a')
#------------------------------------------------------------
#        END OF FILE : CD2MD.PY
#============================================================

发布了257 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhuoqingjoking97298/article/details/104177431
今日推荐