简 介: 利用Python短程序帮助对CSDN上的Markdown编辑器提供格式化的命令,可以大大提高Markdown编辑器的编写效率。本文给出了CDF的小程序。

关键词markdowncsdn编辑快捷键定义

§01 CSDN写作帮手


尽管CSDNMarkdown编辑器使得网页文档编辑呈现了非常快捷的方式,大大方便了一般人员编写CSDN上的Markdown编辑,但随着使用的身世,它仍然在某些方面呈现不方便。

下面的CDF.PYPython的小程序,被驻留在计算机内存,使用LEFT_SHIFT+LEFT_CONTROL+RIGHT_CONTROL进行激活,随时提供编辑格式的帮助。对于喜欢快捷键的编程人员是在是太方便了。

1、CDF 程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# CDF.PY                       -- by Dr. ZhuoQing 2020-05-05
#
# Note:
#============================================================from head import *csdn_title = '写文章-CSDN博客'#------------------------------------------------------------
clipboardstr = clipboard.paste()#------------------------------------------------------------
face = ''
color = ''
sizestr = ''
boldflag = 0
centerflag = 0
nbspflag = 0
endnbspflag = 0
sharpnum = 0
retflag = 0
lineflag = 0
headlineflag = 0
noteflag = 0
markflag = 0
deleteflag = 0
underlineflag = 0
headmarkflag = ''
endmarkflag = ''
codeflag = 0
blockflag = 0
greatflag = 0
circlenum = 0
italicflag = 0
notestr = ''
anchorstr = ''
urlflag = 0
fontflag = 0
rightflag = 0
headboldflag = 0
headlargeflag = 0
questionmark = 0
headnumlineflag = 1
rnflag = 0
onelineflag = 0
redarrowflag = 0
supsubflag = 0
menuflag = 0
endmarkflag = 0
thickblankflag = 0
headcolorflag = ''
headcolorflagcount = 1
brflag = 0#------------------------------------------------------------
def str2headnumline(str, colorstr=''):i = 0if len(str) == 0: return strfor i in range(len(str)):if str[0:i+1].isdigit() == False:if i == 0: return strbreakif str[i] in ". 、) )":return strif redarrowflag == 0:
#        if len(colorstr) == 0:
#            return '<font color=red>\u27a4</font><u>' + str[0:i] + '</u> ' + str[i:]
#        else: return '<font color=%s>'%colorstr + '\u27a4' + '</font><u>' + str[0:i] + '</u> ' + str[i:]if len(colorstr) == 0:return '<u>' + str[0:i] + '</u> ' + str[i:]else: return '<font color=%s>'%colorstr + '<u>' + str[0:i] + '</u></font> ' + str[i:]else:if len(colorstr) == 0:return '<u>' + str[0:i] + '</u> ' + str[i:]else: return '<font color=%s>'%colorstr + '<u>' + str[0:i] + '</u></font> ' + str[i:]#------------------------------------------------------------
def headstrchange(allstr):if len(allstr) == 0: return allstrheadmarkflag = ''if allstr[0] == 'o':if allstr[1] == 'o':headmarkflag = '○ 'allstr = allstr[2:]else:headmarkflag = '● 'allstr = allstr[1:]if allstr[0] == '.':if allstr[1] == '.':headmarkflag = '□ 'allstr = allstr[2:]else:headmarkflag = '■ 'allstr = allstr[1:]if allstr[0] == '+':if allstr[1] == '+':headmarkflag = '☆ 'allstr = allstr[2:]else:headmarkflag = '★ 'allstr = allstr[1:]if allstr[0] == '-':if allstr[1] == '-':headmarkflag = '△ 'allstr = allstr[2:]else:headmarkflag = '▲ 'allstr = allstr[1:]if allstr[0] == ';':if allstr[1] == ';':headmarkflag = '◇ 'allstr = allstr[2:]else:headmarkflag = '◆ 'allstr = allstr[1:]if allstr[0] == '_':headmarkflag = '→ 'allstr = allstr[1:]if allstr[0] == ':':if allstr[1] == ':':headmarkflag = '▓ 'allstr = allstr[2:]else:headmarkflag = '※ 'allstr = allstr[1:]if allstr[0] == '%':headmarkflag = '# 'allstr = allstr[1:]if allstr[0] == '$':headmarkflag = '§ 'allstr = allstr[1:]if allstr[0] == '@':headmarkflag = '◎ 'allstr = allstr[1:]if allstr[0] == '?':headmarkflag = '√ 'allstr = allstr[1:]if allstr[0] == '?':headmarkflag = '√ 'allstr = allstr[1:]if len(headmarkflag) > 0:allstr = headmarkflag + allstrreturn allstr#--------------------------------------------------------circlestr = ''if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'if allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'if allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'if len(circlestr) > 0:return circlestr + allstrif allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1] >= '0' and allstr[1] <= '9':if allstr[2] == '|':if allstr[3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[4:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0:2] + allstr[4:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[4:]else:allstr = '(%s) '%allstr[0:2] + allstr[3:]elif allstr[2] == ':':allstr = '(%s)'%allstr[0:2] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[3:]return allstr#------------------------------------------------------------
if len(sys.argv) > 1:argv1 = sys.argv[1]printf(sys.argv)#--------------------------------------------------------if argv1 == 'rn':allstr = clipboard.paste()if len(allstr) == 0: exit()allstr = allstr.replace('\r', '\r\n')clipboard.copy(allstr)printf(allstr)tspbeep(1200, 100)exit()#--------------------------------------------------------argv1 = argv1.replace('2#', '##')argv1 = argv1.replace('3#', '###')argv1 = argv1.replace('4#', '####')argv1 = argv1.replace('5#', '#####')argv1 = argv1.replace('6#', '######')argv1 = argv1.replace('@#', '###')argv1 = argv1.replace('$#', '####')argv1 = argv1.replace('%#', '#####')argv1 = argv1.replace('!#', '######')argv1 = argv1.replace('@#', '##')argv1 = argv1.replace('¥#', '####')argv1 = argv1.replace('!#', '######')argv1 = argv1.replace('<>', ',')argv1 = argv1.replace('《》', ',')if argv1.count('#') > 0:if argv1.find('#') > 0:headnumlineflag = 0sharpnum = argv1.count('#')retflag = 1argv1 = argv1.strip('#')#--------------------------------------------------------if argv1.find("r'") >= 0:argv1 = argv1.replace("r'", '')headcolorflag = 'red'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("b'") >= 0:argv1 = argv1.replace("b'", '')headcolorflag = 'blue'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("R'") >= 0:argv1 = argv1.replace("R'", '')headcolorflag = 'darkred'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("B'") >= 0:argv1 = argv1.replace("B'", '')headcolorflag = 'slateblue'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("t'") >= 0:argv1 = argv1.replace("t'", '')headcolorflag = 'teal'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("d'") >= 0:argv1 = argv1.replace("d'", '')headcolorflag = 'seagreen'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("v'") >= 0:argv1 = argv1.replace("v'", '')headcolorflag = 'blueviolet'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("z'") >= 0:argv1 = argv1.replace("z'", '')headcolorflag = 'purple'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')if argv1.find("g'") >= 0:argv1 = argv1.replace("g'", '')headcolorflag = 'darkgreen'headcolorflagcount += argv1.count("'")argv1 = argv1.replace("'", '')#--------------------------------------------------------if argv1.count('b') == 1: color = 'blue'if argv1.count('b') == 2: color = 'darkslateblue'if argv1.count('v') == 2: color = 'silver'if argv1.count('v') == 1: color = 'blueviolet'if argv1.count('r') == 1: color = 'red'if argv1.count('R') == 1: color = 'darkred'if argv1.count('r') == 2: color = 'c000'if argv1.count('g') == 1: color = 'darkgreen'if argv1.count('g') == 2: color = 'green'if argv1.count('a') == 1: color = 'gray'if argv1.count('a') == 2: color = 'cyand'if argv1.count('A') == 1: color = 'olive'if argv1.count('A') == 2: color = 'grayd'if argv1.count('q') == 1: color = 'cyan'if argv1.count('Q') == 1: color = 'darkcyan'if argv1.count('q') == 2: color = 'cyana'if argv1.count('w') == 1: color = 'white'if argv1.count('w') == 2: color = 'whited'if argv1.count('m') == 1: color = 'brown'if argv1.count('y') == 1: color = 'yellow'if argv1.count('y') == 2: color = 'yelloww'if argv1.count('K') == 1: color = 'black'if argv1.count('p') == 1: color = 'purpled'if argv1.count('B') == 1: color = 'slateblue'if argv1.count('z') == 1: color = 'purple'if argv1.count('t') == 1: color = 'teal'if argv1.count('d') == 1: color = 'seagreen'#--------------------------------------------------------if argv1.count('s') == 1: face= '宋体'if argv1.count('k') == 1: face= '楷体'if argv1.count('f') == 1: face= '仿宋'if argv1.count('s') == 2: face= '华文宋体'if argv1.count('k') == 2: face= '华文楷体'if argv1.count('f') == 2: face= '华文仿宋'if argv1.count('l') == 1: face= '隶书'if argv1.count('h') == 1: face= '黑体'if argv1.count('l') == 2: face= '华文隶书'if argv1.count('h') == 2: face= '华文细黑'if argv1.count('K') == 1: face= '华文行楷'if argv1.count('F') == 1: face=''if argv1.count('1') == 1: sizestr = '1'if argv1.count('2') == 1: sizestr = '2'if argv1.count('3') == 1: sizestr = '3'if argv1.count('4') == 1: sizestr = '4'if argv1.count('5') == 1: sizestr = '5'if argv1.count('6') == 1: sizestr = '6'if argv1.count('7') == 1: sizestr = '7'if argv1.count('8') == 1: sizestr = '8'if argv1.count('9') == 1: sizestr = '9'if argv1.count('0') == 1: sizestr = '10'if argv1.count('(') == 1: supsubflag = 1if argv1.count(')') == 1: supsubflag = 2if argv1.count('M') == 1: menuflag = 1rnflag = argv1.count('\'')if len(color) > 0 or len(face) > 0 or len(sizestr) > 0:fontflag = 1#--------------------------------------------------------if argv1.count('c') == 1:centerflag = 1if argv1.count('c') == 2:centerflag = 2if argv1.count('x') == 1:lineflag = 1if argv1.count('X') == 1:headlineflag = 1if argv1.count('e') > 0:boldflag = 1if argv1.count('!') > 0:boldflag = 1if argv1.count('R') > 0:retflag = 1brflag = argv1.count(',')brflag += argv1.count(',')#--------------------------------------------------------nbspflag = argv1.count('n')endnbspflag = argv1.count('N')noteflag = argv1.count('*')markflag = argv1.count('=')deleteflag = argv1.count('~')if argv1.count('`') > 0: noteflag = 3if argv1.count('u') == 1: underlineflag = 1if argv1.count('u') > 1:  underlineflag = 2questionmark = argv1.count('?')if argv1.count('o') == 1: headmarkflag = '● 'if argv1.count('o') == 2: headmarkflag = '○ 'if argv1.count('.') == 1: headmarkflag = '■ 'if argv1.count('.') == 2: headmarkflag = '□ 'if argv1.count('.') == 3: headmarkflag = ''if argv1.count('+') == 1: headmarkflag = '★ 'if argv1.count('+') == 2: headmarkflag = '☆ 'if argv1.count(';') == 1: headmarkflag = '\u2735 'if argv1.count(';') == 2: headmarkflag = '\u2739 'if argv1.count('-') == 1: headmarkflag = '▲ 'if argv1.count('-') == 2: headmarkflag = '△ 'if argv1.count('_') == 1: headmarkflag = '→ 'if argv1.count(':') == 1: headmarkflag = '※ 'if argv1.count(':') == 2: headmarkflag = '▓ 'if argv1.count('%') == 1: headmarkflag = '# 'if argv1.count('$') == 1: headmarkflag = '§'if argv1.count('¥') == 1: headmarkflag = '§'if argv1.count('{') == 1: headmarkflag = '§'if argv1.count('$') == 2: headmarkflag = '§ 'if argv1.count('¥') == 2: headmarkflag = '§ 'if argv1.count('O') == 1: headmarkflag = '◎ 'if argv1.count('O') == 2: headmarkflag = '⊙ 'if argv1.count('^') == 1: headmarkflag = '√ 'if argv1.count('^') == 2:clipboard.copy("√")printf('Clipboard:√\a')exit()if argv1.count('j') == 1: redarrowflag = 1if argv1.count('J') == 1: headmarkflag = '\u25ba'if argv1.count('|') == 3: headmarkflag = '┇'if argv1.count('|') == 1: headmarkflag = '▌'if argv1.count('|') == 2:headmarkflag = '▌'endmarkflag = 1if argv1.count('|') == 5: headmarkflag = '▍'if argv1.count('|') == 4: headmarkflag = '▊'codeflag = argv1.count('C')italicflag = argv1.count('/')onelineflag = argv1.count('\\')if onelineflag == 0:onelineflag = argv1.count('、')if argv1.find('[]') >= 0: blockflag = 1if argv1.find('][') >= 0: blockflag = 2if argv1.find(']]') >= 0: rightflag = 1if blockflag == 0:if argv1.find(']') >= 0: rightflag = 1if argv1.find('}') > 0:thickblankflag = 1if argv1.find('<') >= 0:  urlflag = 1headboldflag = argv1.count('H')headlargeflag = argv1.count('L')greatflag = argv1.count('>')if argv1.count('@') > 0:if len(sys.argv) > 3:anchorstr = sys.argv[3]elif len(sys.argv) > 2:anchorstr = sys.argv[2]if nbspflag > 0:if headlineflag == 1:headlineflag = 0lineflag = 1else:exit()#------------------------------------------------------------
def IsNotTermChar(c):if c == '.': return 0if c == '?': return 0if c == '!': return 0if c == ':': return 0if c == ',': return 0if c == '|': return 0if c == '?': return 0if c == '。': return 0if c == ',': return 0if c == '、': return 0if c == ':': return 0return 1#------------------------------------------------------------
circlestr = ''
if circlenum > 0:orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' '#------------------------------------------------------------
if len(clipboardstr) > 3:clipboardstr = clipboardstr.rstrip('\n').rstrip('\r')if clipboardstr[0] == '[' and \clipboardstr[1] == '^' and \clipboardstr[-1] == ']':notestr = clipboardstrclipboardstr = ''printf(notestr)#------------------------------------------------------------allstr = '  'if codeflag > 0 and len(sys.argv) > 2 and noteflag == 0:if len(sys.argv) > 2:allstr = ' '.join(sys.argv[2:])allstr = allstr.replace('\\', '\r\n')if len(headmarkflag) > 0: allstr = headmarkflag + allstrif underlineflag:allstr = '<u>' +allstr + '</u>'allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')insertstr = '```\n%s\n```\n'%allstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflagclipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if codeflag > 0 and noteflag == 0:tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)pastestr = clipboard.paste()if len(pastestr) == 0:pastestr = clipboardstr;allstr = pastestrif len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif underlineflag:allstr = '<u>' +allstr + '</u>'allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')allstr = allstr.rstrip('\n')allstr = allstr.rstrip('\r')insertstr = '```\n%s\n```\n'%allstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflagclipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if noteflag > 0 and len(sys.argv) > 2:if len(sys.argv) > 2:allstr = ' '.join(sys.argv[2:])if len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'allstr = circlestr + allstrif allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]if urlflag == 1:allstr = '<%s>'%allstr#--------------------------------------------------------doublecol = allstr.find('::')nextline = ''if doublecol > 0:nextstr = allstr[doublecol+2:].split()itemnoteflag = 0if allstr[doublecol+2:doublecol+3] == ':':nextstr = allstr[doublecol+3:].split()itemnoteflag = 1elif allstr[doublecol+2:doublecol+3] == ';':nextstr = allstr[doublecol+3:].split()itemnoteflag = 2allstr = allstr[:doublecol+1]for id,s in enumerate(nextstr):nextstr[id] = s.replace('_', ' ')if len(nextstr) > 0:nextstr[0] = headstrchange(nextstr[0])if itemnoteflag == 0:id = nextstr[0].find(':')if id < 0:id = nextstr[0].find(':')if id < 0:nextline = ': %s: \r\n'%nextstr[0]else:nextstr[0] = nextstr[0].rstrip(':').rstrip(':')nextline = ': %s \r\n'%nextstr[0]elif itemnoteflag == 1:id = nextstr[0].find(':')if id < 0:id = nextstr[0].find(':')if id < 0:nextline = ': ``%s``: \r\n'%nextstr[0]else:iid = nextstr[0].find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = ': ``%s``: **``%s``** \r\n'%(nextstr[0][0:iid], nextstr[0][iid+2:])else: nextline = ': ``%s``%s \r\n'%(nextstr[0][0:id], nextstr[0][id:])elif itemnoteflag == 2:id = nextstr[0].find(':')if id < 0:id = nextstr[0].find(':')if id < 0:nextline = ': **``%s``**: \r\n'%nextstr[0]else:iid = nextstr[0].find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = ': **``%s``**: ``%s`` \r\n'%(nextstr[0][0:iid], nextstr[0][iid+2:])else: nextline = ': **``%s``**%s \r\n'%(nextstr[0][0:id], nextstr[0][id:])for s in nextstr[1:]:s = headstrchange(s)if itemnoteflag == 0:if s.find(':') < 0:nextline = nextline + '%s: \r\n'%selse:s = s.rstrip(':').rstrip(':')nextline = nextline + '%s \r\n'%selif itemnoteflag == 1:id = s.find(':')if id < 0:id = s.find(':')if id < 0:nextline = nextline + '``%s``: \r\n'%selse:iid = s.find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = nextline + '``%s``: **``%s``** \r\n'%(s[0:iid], s[iid+2:])else: nextline = nextline + '``%s``%s \r\n'%(s[0:id], s[id:])elif itemnoteflag == 2:id = s.find(':')if id < 0:nextline = nextline + '**``%s``**: \r\n'%selse:iid = s.find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = nextline + '**``%s``**:``%s`` \r\n'%(s[0:iid], s[iid+2:])else: nextline = nextline + '**``%s``**%s \r\n'%(s[0:id], s[id:])else:doublecol = allstr.find('::')if doublecol > 0:nextstr = allstr[doublecol+2:].split()itemnoteflag = 0if allstr[doublecol+2:doublecol+3] == ':':nextstr = allstr[doublecol+3:].split()itemnoteflag = 1elif allstr[doublecol+2:doublecol+3] == ';':nextstr = allstr[doublecol+3:].split()itemnoteflag = 2allstr = allstr[:doublecol+1]for id,s in enumerate(nextstr):nextstr[id] = s.replace('_', ' ')if len(nextstr) > 0:nextstr[0] = headstrchange(nextstr[0])if itemnoteflag == 0:if nextstr[0].find(':') < 0:nextline = ': %s:\r\n'%nextstr[0]else:nextstr[0] = nextstr[0].rstrip(':')nextline = ': %s\r\n'%nextstr[0]elif itemnoteflag == 1:if nextstr[0].find(':') < 0 and nextstr[0].find(':') < 0:nextline = ': ``%s``:\r\n'%nextstr[0]else:id = nextstr[0].find(':')if id < 0:id = nextstr[0].find(':')iid =  nextstr[0].find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = ': ``%s``:**``%s``** \r\n'%(nextstr[0][0:iid], nextstr[0][iid+3:])else: nextline = ': ``%s``:%s\r\n'%(nextstr[0][0:id], nextstr[0][id+1:])elif itemnoteflag == 2:if nextstr[0].find(':') < 0:nextline = ': **``%s``**:\r\n'%nextstr[0]else:id = nextstr[0].find(':')if id < 0:id = nextstr[0].find(':')iid =  nextstr[0].find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = ': **``%s``**:``%s`` \r\n'%(nextstr[0][0:iid], nextstr[0][iid+3:])else:nextline = ': **``%s``**:%s\r\n'%(nextstr[0][0:id], nextstr[0][id+1:])for s in nextstr[1:]:s = headstrchange(s)if itemnoteflag == 0:if s.find(':') < 0:nextline = nextline + '%s:\r\n'%selse:s = s.rstrip(':')nextline = nextline + '%s\r\n'%selif itemnoteflag == 1:id = s.find(':')if id < 0:id = s.find(':')if id < 0:nextline = nextline + '``%s``:\r\n'%selse:iid = s.find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = nextline + '``%s``: **``%s``** \r\n'%(s[0:iid], s[iid+3:])else:nextline = nextline + '``%s``:%s\r\n'%(s[0:id], s[id+1:])elif itemnoteflag == 2:id = s.find(':')id = s.find(':')if id < 0:nextline = nextline + '**``%s``**:\r\n'%selse:iid = s.find('::')if iid < 0:iid = nextstr[0].find('::')if iid > 0:nextline = nextline + '**``%s``**: ``%s`` \r\n'%(s[0:iid], s[iid+3:])else: nextline = nextline + '**``%s``**:%s\r\n'%(s[0:id], s[id+1:])#--------------------------------------------------------doublecolspace = allstr.find(': :')appendstr = ''if doublecolspace > 0:appendstr = allstr[doublecolspace+2:]allstr = allstr[:doublecolspace]else:doublecolspace = allstr.find(': :')if doublecolspace > 0:appendstr = allstr[doublecolspace+2:]allstr = allstr[:doublecolspace]doublecolspace = allstr.find(':*:')appendstr = ''if doublecolspace > 0:appendstr = allstr[doublecolspace+2:]allstr = allstr[:doublecolspace]if noteflag == 1:appendstr = '``%s``'%appendstrelif noteflag == 2:appendstr = ' *%s* '%appendstrelif noteflag == 3:appendstr = ' **``%s``** '%appendstrelif noteflag == 4:appendstr = '**%s**'%appendstrelse: appendstr = ' *``%s``* '%appendstrelse:doublecolspace = allstr.find(':*:')if doublecolspace > 0:appendstr = allstr[doublecolspace+2:]allstr = allstr[:doublecolspace]if noteflag == 1:appendstr = '``%s``'%appendstrelif noteflag == 2:appendstr = ' *%s* '%appendstrelif noteflag == 3:appendstr = ' **``%s``** '%appendstrelif noteflag == 4:appendstr = '**%s**'%appendstrelse: appendstr = ' *``%s``* '%appendstr#--------------------------------------------------------if noteflag == 1:insertstr = ' **``%s``** '%allstrelif noteflag == 2:insertstr = ' **%s** '%allstrelif noteflag == 3:insertstr = '``%s``'%allstrelif noteflag == 4:insertstr = '*%s*'%allstrelse: insertstr = ' *``%s``* '%allstr#--------------------------------------------------------if allstr.find(',,') > 0 or allstr.find(',,') > 0 or allstr.find('、、') or allstr.find('..') or allstr.find('。。'):allstrdim = []splitc = ','if allstr.find(',,') > 0:allstrdim = allstr.split(',,')splitc = ','elif allstr.find(',,') > 0:allstrdim = allstr.split(',,')splitc = ','elif allstr.find('、、') > 0:allstrdim = allstr.split('、、')splitc = '、'elif allstr.find('..') > 0:allstrdim = allstr.split('..')splitc = '.'elif allstr.find('。。') > 0:allstrdim = allstr.split('。。')splitc = '。'if len(allstrdim) > 0:insertstrdim = []for s in allstrdim:s = s.replace('_', ' ')if noteflag == 1:sinsertstr = ' **``%s``** '%selif noteflag == 2:sinsertstr = ' **%s** '%selif noteflag == 3:sinsertstr = '``%s``'%selif noteflag == 4:sinsertstr = '*%s*'%selse: sinsertstr = ' *``%s``* '%sinsertstrdim.append(sinsertstr)insertstr = splitc.join(insertstrdim)#--------------------------------------------------------if allstr.find('||') > 0 or sys.argv[1].count('|') > 0:if sys.argv[1].count('|') == 0:allstrdim = allstr.split('||')else: allstrdim = sys.argv[2:]insertstr = ''for s in allstrdim:s = s.replace('_', ' ')if noteflag == 1:sinsertstr = ' **``%s``** '%selif noteflag == 2:sinsertstr = ' **%s** '%selif noteflag == 3:sinsertstr = '``%s``'%selif noteflag == 4:sinsertstr = '*%s*'%allstrelse: sinsertstr = ' *``%s``* '%sif len(color) > 0:if noteflag == 2:sinsertstr = '<font color=%s>**%s**</font>'%(color, s)else:sinsertstr = '<font color=%s>%s</font>'%(color, s)if underlineflag == 1:sinsertstr = '<u>%s</u>'%sinsertstrinsertstr = insertstr + sinsertstr + ' '#--------------------------------------------------------if len(color) > 0:insertstr = '<font color=%s>%s</font>'%(color, insertstr)if underlineflag and centerflag == 0:insertstr = '<u>' + insertstr + '</u>'if len(appendstr) > 0:insertstr = insertstr + appendstrif underlineflag:allstr = '<u>' +allstr + '</u>'if markflag > 0:insertstr = " ==" + insertstr.strip(' ') + "== "#--------------------------------------------------------if len(nextline) > 0:insertstr = '\r\n' + insertstr + "\r\n" + nextlineif blockflag == 1: insertstr = '- [ ] ' + insertstr + '\r\n'if blockflag == 2: insertstr = '- [x] ' + insertstr + '\r\n'#--------------------------------------------------------if centerflag or codeflag:tspsendwindowkey(csdn_title, "c", control=1)allstr = clipboard.paste()if len(allstr) == 0:tspsendwindowkey(csdn_title, "ac", control=1)allstr = clipboard.paste()#----------------------------------------------------changestrdim = sys.argv[2:]if len(changestrdim) > 0:if changestrdim[0] == '#':allstrcopy = clipboard.paste()for s in allstrcopy:if ord(s) > 127:allstrcopy = allstrcopy.replace(s, ' ')allstrcopy = allstrcopy.replace('\n', ' ')allstrcopy = allstrcopy.replace('\r', ' ')stralldim = list(dict.fromkeys([s for s in allstrcopy.split(' ') if len(s) > 0 and len(s) < 40]))stralldim = [s for s in stralldim if s[0] not in '& * = < - >' and s not in '** `` =='.split(' ') and len(s.strip(' ')) > 0]stralldim = [s for s in stralldim if s.find('color=') < 0 and s.find('font=') < 0 and s.find('face=') < 0 and s.find('size=') < 0]stralldim = [s for s in stralldim if s not in "1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.".split(' ')]stralldim = [s.replace('\t', ' ') for s in stralldim]stralldim = [s for s in stralldim if s not in "1.** 2.** 3.** 4.** 5.** 6.** 7.** 8.** 9.** 10.** 11.** 12.** 13.** 14.** 15.** 16.** 17.** 18.** 19.** 20.**".split(' ')]stralldim.extend(changestrdim[1:])changestrdim = stralldimprintf(changestrdim)for s in changestrdim:c1 = ' **``%s``** '%sc5 = ' *``%s``* '%sc2 = '``%s``'%sc3 = ' **%s** '%sc4 = '*%s*'%sc6 = '==%s=='%sc7 = '<u>%s</u>'%sif noteflag == 1:changestr = ' **``%s``** '%selif noteflag == 2:changestr = ' **%s** '%selif noteflag == 3:changestr = '``%s``'%selif noteflag == 4:changestr = '*%s*'%selse: changestr = '*``%s``*'%sif underlineflag == 1:changestr = '<u>%s</u>'%changestrelif underlineflag > 1:changestr = '<u>%s</u>'%sif markflag > 0:changestr = '==%s=='%sif len(color) > 0:if noteflag == 2:c8 = '<font color=%s>**%s**</font>'%(color, s)allstr = allstr.replace(c8, s)changestr = '<font color=%s>**%s**</font>'%(color, s)else:c8 = '<font color=%s>%s</font>'%(color, s)allstr = allstr.replace(c8, s)changestr = '<font color=%s>%s</font>'%(color, s)if underlineflag == 1:changestr = '<u>%s</u>'%changestrallstr = allstr.replace(c1, s)allstr = allstr.replace(c2, s)allstr = allstr.replace(c3, s)allstr = allstr.replace(c4, s)allstr = allstr.replace(c5, s)allstr = allstr.replace(c6, s)allstr = allstr.replace(c7, s)if centerflag == 1:allstrdim = allstr.split('\n')allstrall = ''codeflag = 0for asd in allstrdim:assd = asd.lstrip()if len(assd) > 4:if assd[0:3] == '```':if codeflag != 0:codeflag = 0else: codeflag = 1elif codeflag == 0:if not assd[0] in '# ! > : -'.split(' '):if assd[0:2] not in '<b #< >< `` ** <d <c <f'.split(' '):asd = asd.replace(s, changestr)allstrall = allstrall + asd + '\n'allstr = allstrall.rstrip('\n')insertstr = allstrprintf('\a')#--------------------------------------------------------if rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif greatflag > 0:insertstr = '>' + insertstrif redarrowflag:insertstr = '<font color=red>\u27a4</font>' +insertstrif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstrinsertstr = insertstr.lstrip('\r\n').lstrip('\r\n')clipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if noteflag > 0:tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)pastestr = clipboard.paste()if len(pastestr) == 0:pastestr = clipboardstr;allstr = pastestrif len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'allstr = circlestr + allstrif allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]if urlflag == 1:allstr = '<%s>'%allstrif noteflag == 1:insertstr = ' **``%s``** '%allstrelif noteflag == 2:insertstr = ' **%s** '%allstrelif noteflag == 3:insertstr = '``%s``'%allstrelif noteflag == 4:insertstr = '*%s*'%allstrelse: insertstr = ' *``%s``* '%allstrif markflag > 0:insertstr = " ==" + insertstr.strip(' ') + "== "if len(sizestr) > 0:insertstr = '<font size=%s>'%sizestr + insertstr + '</font>'if blockflag == 1: insertstr = '- [ ] ' + insertstrif blockflag == 2: insertstr = '- [x] ' + insertstrif centerflag: insertstr = '<center>%s</center>'%insertstrif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstrif underlineflag and centerflag == 0:insertstr = '<u>' + insertstr + '</u>'if rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif greatflag > 0:insertstr = '>' + insertstrclipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if markflag > 0 and len(sys.argv) > 2:if len(sys.argv) > 2:allstr = ' '.join(sys.argv[2:])if len(allstr) == 0:printf('\a')exit()if len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'allstr = circlestr + allstrif allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]if urlflag == 1:allstr = '<%s>'%allstrif underlineflag:allstr = '<u>' +allstr + '</u>'insertstr = '==%s=='%allstrif len(sizestr) > 0:insertstr = '<font size=%s>'%sizestr + insertstr + '</font>'if blockflag == 1: insertstr = '- [ ] ' + insertstrif blockflag == 2: insertstr = '- [x] ' + insertstrif centerflag: insertstr = '<center>%s</center>'%insertstrif redarrowflag:insertstr = '<font color=red>\u27a4</font>' +insertstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstr#    printf(insertstr)clipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if markflag > 0:tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)pastestr = clipboard.paste()if len(pastestr) == 0:pastestr = clipboardstr;allstr = pastestrif len(allstr) == 0:printf('\a')exit()if len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'allstr = circlestr + allstrif allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'allstr = circlestr + allstrif allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]if underlineflag:allstr = '<u>' +allstr + '</u>'insertstr = '==%s=='%allstrif urlflag == 1:allstr = '<%s>'%allstrif centerflag: insertstr = '<center>%s</center>'%insertstrif len(sizestr) > 0:insertstr = '<font size=%s>'%sizestr + insertstr + '</font>'if blockflag == 1: insertstr = '- [ ] ' + insertstrif blockflag == 2: insertstr = '- [x] ' + insertstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstr#    printf(insertstr)clipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
if deleteflag > 0 and len(sys.argv) > 2:if len(sys.argv) > 2:allstr = ' '.join(sys.argv[2:])if len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if urlflag == 1:allstr = '<%s>'%allstrif underlineflag:allstr = '<u>' +allstr + '</u>'if deleteflag == 1:insertstr = '~~%s~~'%allstrelse: insertstr = ' ' +  '~'.join(allstr.split()) + ' '#    printf(insertstr)if len(sizestr) > 0:insertstr = '<font size=%s>'%sizestr + insertstr + '</font>'if blockflag == 1: insertstr = '- [ ] ' + insertstrif blockflag == 2: insertstr = '- [x] ' + insertstrif centerflag: insertstr = '<center>%s</center>'%insertstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstrclipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()if deleteflag > 0:tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)pastestr = clipboard.paste()if len(pastestr) == 0:pastestr = clipboardstr;allstr = pastestrif len(headmarkflag) > 0: allstr = headmarkflag + allstrif len(circlestr) > 0: allstr = circlestr + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if centerflag: insertstr = '<center>%s</center>'%insertstrif underlineflag:allstr = '<u>' +allstr + '</u>'if urlflag == 1:allstr = '<%s>'%allstrinsertstr = '~~%s~~'%allstrif supsubflag == 1:insertstr = '<sup>%s</sup>'%insertstrelif supsubflag == 2:insertstr = '<sub>%s</sub>'%insertstrif len(sizestr) > 0:insertstr = '<font size=%s>'%sizestr + insertstr + '</font>'if blockflag == 1: insertstr = '- [ ] ' + insertstrif blockflag == 2: insertstr = '- [x] ' + insertstr
#    printf(insertstr)if rnflag > 0:insertstr = insertstr + '\r\n'*rnflagif deleteflag > 1:insertstr = "~"clipboard.copy(insertstr)tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy('')tspfocuswindow(csdn_title)exit()#------------------------------------------------------------
fontstr = ''
if len(face) > 0 or len(color) > 0 or len(sizestr) > 0:fontstr = '<font 'if len(face) > 0:   fontstr = fontstr + ' face=%s'%faceif len(color) > 0:  fontstr = fontstr + ' color=%s'%colorif len(sizestr) > 0: fontstr = fontstr + ' size=%s'%sizestrfontstr = fontstr + '>'#------------------------------------------------------------
key = tspread()
if key[8] != 0:retflag = 1nbspflag = 1#------------------------------------------------------------
insertstr = fontstr#------------------------------------------------------------
if len(sys.argv) > 2:if brflag == 0:allstr = ' '.join(sys.argv[2:])else:if brflag == 1:allstr = '<br>'.join(sys.argv[2:])else:allstring = ' '.join(sys.argv[2:])allstr = allstring.replace('|', '<br>')allstr = allstr.replace(',,', '<br>')allstr = allstr.replace(',,', '<br>')#--------------------------------------------------------if sys.argv[2][0] == '-' and sys.argv[2][1:].isdigit():figurestr = '表' + '-'.join(sys.argv[2][1:]) + ' 'allstr = figurestr + ' '.join(sys.argv[3:])if sys.argv[2][-1] == '-' and sys.argv[2][0:-1].isdigit():figurestr = '表' + '-'.join(sys.argv[2][0:-1]) + ' 'allstr = figurestr + ' '.join(sys.argv[3:])allstr = allstr.replace('-->', '→')allstr = allstr.replace('<--', '←')enddotflag = 0if endmarkflag > 0 and len(headmarkflag) > 0:allstr = allstr + ' ' + headmarkflag#--------------------------------------------------------if len(allstr) > 0:if allstr[-1] == '\\' or allstr[-1] == '.' or allstr[-1] == '|':tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)pastestr = clipboard.paste()if len(pastestr) == 0:pastestr = clipboardstr;if allstr[-1] == '\\': allstr = allstr[0:-1]if len(pastestr) > 0:allstr = allstr + pastestrif allstr[-1] == '.':nbspflag = 0allstr = allstr[:-1]endmarkflag = headmarkflagif allstr[0] == 'o':if allstr[1] == 'o':headmarkflag = '○ 'allstr = allstr[2:]else:headmarkflag = '● 'allstr = allstr[1:]if allstr[0] == '.':if allstr[1] == '.':headmarkflag = '□ 'allstr = allstr[2:]else:headmarkflag = '■ 'allstr = allstr[1:]if allstr[0] == '+':if allstr[1] == '+':headmarkflag = '☆ 'allstr = allstr[2:]else:headmarkflag = '★ 'allstr = allstr[1:]if allstr[0] == '-':if allstr[1] == '-':headmarkflag = '△ 'allstr = allstr[2:]else:headmarkflag = '▲ 'allstr = allstr[1:]if allstr[0] == ';':if allstr[1] == ';':headmarkflag = '◇ 'allstr = allstr[2:]else:headmarkflag = '◆ 'allstr = allstr[1:]if allstr[0] == '_':headmarkflag = '→ 'allstr = allstr[1:]if allstr[0] == ':':if allstr[1] == ':':headmarkflag = '▓ 'allstr = allstr[2:]else:headmarkflag = '※ 'allstr = allstr[1:]if allstr[0] == '%':headmarkflag = '# 'allstr = allstr[1:]if allstr[0] == '$':headmarkflag = '§ 'allstr = allstr[1:]if allstr[0] == '@':headmarkflag = '◎ 'allstr = allstr[1:]if allstr[0] == '?':headmarkflag = '√ 'allstr = allstr[1:]if endmarkflag != headmarkflag and len(endmarkflag) > 0:endmarkflag = ' ' + headmarkflag.replace(' ', '')else:endmarkflag = ''#----------------------------------------------------if allstr[0] == '/':circlenum = allstr.count('/')allstr = allstr[circlenum:]orderstr = '①②③④⑤⑥⑦⑧⑨⑩⑾⑿⒀⒁⒂⒃⒄⒅'if circlenum > 18: circlenum = 18circlestr = orderstr[circlenum-1:circlenum] + ' 'if allstr[0] == '|':circlenum = allstr.count('|')allstr = allstr[circlenum:]orderstr = 'ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ'if circlenum > 12: circlenum = 12circlestr = orderstr[circlenum-1:circlenum] + '.'if allstr[0] == '\\':circlenum = allstr.count('\\')allstr = allstr[circlenum:]orderstr = 'ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ'if circlenum > 10: circlenum = 10circlestr = orderstr[circlenum-1:circlenum] + '.'if allstr[0] >= '0' and allstr[0] <= '9':if len(allstr) >= 2:if allstr[1] == '|':if allstr[2] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0] + allstr[3:]else:allstr = '(%s) '%allstr[0] + allstr[2:]elif allstr[1] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1:2] == ':':allstr = '(%s)'%allstr[0] + allstr[2:]elif allstr[1] >= '0' and allstr[1] <= '9':if allstr[2] == '|':if allstr[3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[4:]elif allstr[2] == '|':allstr = '(%s)'%allstr[0:2] + allstr[4:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[4:]else:allstr = '(%s) '%allstr[0:2] + allstr[3:]elif allstr[2] == ':':allstr = '(%s)'%allstr[0:2] + allstr[3:]elif allstr[2:3] == ':':allstr = '(%s)'%allstr[0:2] + allstr[3:]if allstr[0] == '*':headboldflag = 1if allstr[1] == '*':headboldflag = 2if allstr[2] == '*':headboldflag = 3if allstr[3] == '*':headboldflag = 4allstr = allstr[headboldflag:]if boldflag == 0:if headboldflag > 0 and headlargeflag == 0:allstr = '**%s**'%allstr[0:headboldflag] + allstr[headboldflag:]elif headboldflag > 0 and headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>**%s**</font>'%(ss,allstr[0:headboldflag]) + allstr[headboldflag:]elif headboldflag == 0 and headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>%s</font>'%(ss,allstr[0:headlargeflag]) + allstr[headlargeflag:]else:if headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>%s</font>'%(ss,allstr[0:headlargeflag]) + allstr[headlargeflag:]#--------------------------------------------------------if sharpnum <= 1 and headnumlineflag > 0:if color == 'purple':if redarrowflag == 0:allstr = str2headnumline(allstr)else: allstr = str2headnumline(allstr)else: allstr = str2headnumline(allstr)#----------------------------------------------------if len(headcolorflag) > 0:underline = allstr.find('</u>')printf(underline)if underline > 0:startid = underline + 5if allstr[startid] in "《“(【":startid += 1allstr = allstr[:startid] + '<font color=%s>'%headcolorflag + allstr[startid:startid+headcolorflagcount] + '</font>' + allstr[startid+headcolorflagcount:]else:markid = allstr.find('、')if markid < 0: markid = allstr.find(')')if markid < 0: markid = allstr.find('.')if markid < 0: markid = allstr.find(')')if markid < 0:markid = allstr.find('《')if markid != 0: markid = allstr.find('“')if markid != 0: markid = allstr.find('(')if markid != 0: markid = allstr.find('【')if markid != 0: markid = -1;if markid > 0:startid = markid + 1allstr = allstr[:startid] + '<font color=%s>'%headcolorflag + allstr[startid:startid+headcolorflagcount] + '</font>' + allstr[startid+headcolorflagcount:]else:allstr = '<font color=%s>'%headcolorflag + allstr[:headcolorflagcount] + '</font>' + allstr[headcolorflagcount:]#--------------------------------------------------------if questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if sharpnum == 0:sharpnum = allstr.count('#')if sharpnum > 0:allstr = allstr.strip('#')if len(headmarkflag) > 0:allstr = headmarkflag + allstr + endmarkflagif len(circlestr) > 0: allstr = circlestr + allstr#--------------------------------------------------------if thickblankflag > 0:allstr = '【'+allstr+'】'#--------------------------------------------------------if redarrowflag:allstr = '<font color=red>\u27a4</font>' + allstrif underlineflag:allstr = '<u>' +allstr + '</u>'if len(notestr) > 0:allstr = allstr + notestrnotestr = ''if urlflag == 1:allstr = '<%s>'%allstrif boldflag:if centerflag != 0 or rightflag != 0:allstr = '<b>%s</b>'%allstrelse:allstr = '**%s**'%allstrelif italicflag != 0:if italicflag == 1:allstr = '*' + allstr + '*'else:allstr = '*__' + allstr + '__*'if supsubflag == 1:allstr = '<sup>%s</sup>'%allstrelif supsubflag == 2:allstr = '<sub>%s</sub>'%allstrif len(fontstr) != 0:insertstr = '%s%s</font>'%(fontstr, allstr)else: insertstr = allstrif rightflag:if fontflag == 0:insertsect = insertstr.split('||')insertstr = ''for s in insertsect:insertstr = insertstr + '<div align="right"><font size=3>%s</font></div>\r\n'%selse:insertsect = insertstr.split('||')insertstr = ''for s in insertsect:insertstr = insertstr + '<div align="right">%s</div>\r\n'%selse:tspsendwindowkey(csdn_title, 'c', control=1, noreturn=1)allstr = clipboard.paste()if len(allstr) == 0:allstr = clipboardstrallstr = allstr.replace('-->', '→')allstr = allstr.replace('<--', '←')if endmarkflag > 0 and len(headmarkflag) > 0:allstr = allstr + ' ' + headmarkflagif centerflag == 0:if onelineflag == 0:brstr = '<br><br>'if rightflag or centerflag: brstr = '<br>'if allstr.find('\r\n') >= 0:allstr = brstr.join([s for s in allstr.split('\r\n') if len(s.strip(' ')) > 0])elif allstr.find('\n') >= 0:allstr = brstr.join([s for s in allstr.split('\n') if len(s.strip(' ')) > 0])else:if allstr.find('\r\n') >= 0:allstr = ''.join([s for s in allstr.split('\r\n') if len(s.strip(' ')) > 0])elif allstr.find('\n') >= 0:allstr = ''.join([s for s in allstr.split('\n') if len(s.strip(' ')) > 0])allstr = allstr.replace('-->', '→')allstr = allstr.replace('<--', '←')if redarrowflag:allstr = '<font color=red>\u27a4</font>' + allstr#    printff(allstr, rightflag)if boldflag == 0:if headboldflag > 0 and headlargeflag == 0:allstr = '**%s**'%allstr[0:headboldflag] + allstr[headboldflag:]elif headboldflag > 0 and headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>**%s**</font>'%(ss,allstr[0:headboldflag]) + allstr[headboldflag:]elif headboldflag == 0 and headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>%s</font>'%(ss,allstr[0:headlargeflag]) + allstr[headlargeflag:]else:if headlargeflag > 0:if len(sizestr) == 0: ss = '4'else: ss = '5'allstr = '<font size=%s>%s</font>'%(ss,allstr[0:headlargeflag]) + allstr[headlargeflag:]if sharpnum == 0:sharpnum = allstr.count('#')if sharpnum > 0:allstr = allstr.strip('#')if len(headmarkflag) > 0: allstr = headmarkflag + allstrif questionmark > 0 and IsNotTermChar(allstr[-1]):allstr = allstr+'?'if len(circlestr) > 0: allstr = circlestr + allstrif underlineflag:allstr = '<u>' + allstr + '</u>'if len(notestr) > 0:allstr = allstr + notestrnotestr = ''if urlflag == 1:allstr = '<%s>'%allstrif boldflag:if centerflag != 0 or rightflag != 0:allstr = '<b>%s</b>'%allstrelse:allstr = '**%s**'%allstrelif italicflag != 0:if italicflag == 1:allstr = '*' + allstr + '*'else:allstr = '*__' + allstr + '__*'if thickblankflag > 0:allstr = '【'+allstr+'】'if supsubflag == 1:allstr = '<sup>%s</sup>'%allstrelif supsubflag == 2:allstr = '<sub>%s</sub>'%allstr#----------------------------------------------------allstr = str2headnumline(allstr)if len(headcolorflag) > 0:underline = allstr.find('</u>')if underline > 0:startid = underline + 5allstr = allstr[:startid] + '<font color=%s>'%headcolorflag + allstr[startid:startid+headcolorflagcount] + '</font>' + allstr[startid+headcolorflagcount:]else:markid = allstr.find('、')if markid < 0: markid = allstr.find(')')if markid < 0: markid = allstr.find('.')if markid < 0: markid = allstr.find(')')if markid < 0:markid = allstr.find('《')if markid != 0: markid = allstr.find('“')if markid != 0: markid = allstr.find('(')if markid != 0: markid = allstr.find('【')if markid != 0: markid = -1;if markid > 0:startid = markid + 1allstr = allstr[:startid] + '<font color=%s>'%headcolorflag + allstr[startid:startid+headcolorflagcount] + '</font>' + allstr[startid+headcolorflagcount:]else:allstr = '<font color=%s>'%headcolorflag + allstr[:headcolorflagcount] + '</font>' + allstr[headcolorflagcount:]#--------------------------------------------------------if rightflag:if allstr.find('||') >= 0:insertsect = allstr.split('||')insertstr = ''for s in insertsect:insertstr = insertstr + '<div align="right"><font size=3>%s</font></div>\r\n'%selif allstr.find('\n') >= 0:insertsect = allstr.split('\n')insertstr = ''for s in insertsect:if len(s) == 0: continueinsertstr = insertstr + '<div align="right"><font size=3>%s</font></div>\r\n'%selse: insertstr = '<div align="right"><font size=3>%s</font></div>\r\n'%allstrallstr = insertstrif len(fontstr) != 0:insertstr = '%s%s</font>'%(fontstr, allstr)else: insertstr = allstr#------------------------------------------------------------
if centerflag != 0:insertstr = insertstr.replace('||', '\n')insertstr = "<center>" + insertstr + "</center>"if insertstr.find('\n') >= 0:leftbracket = insertstr.count('<')rightbracket = insertstr.count('>')#        printf(insertstr, leftbracket, rightbracket)if leftbracket == rightbracket and leftbracket > 0:strsect = insertstr.split('\r\n')if len(strsect) == 1:strsect = insertstr.split('\n')printf(strsect)if len(strsect) > 1:id = strsect[0].rfind('>')headstr = ''if id >= 0:headstr = strsect[0][0:id+1]strsect[0] = strsect[0][id+1:]tailstr = ''id = strsect[-1].find('<')if id >= 0:tailstr = strsect[-1][id:]strsect[-1] = strsect[-1][0:id]#                printff(headstr, tailstr)if len(headstr) > 0 and len(tailstr) > 0:insertstr = ''for s in strsect:if len(s) == 0: continueinsertstr = insertstr + '%s%s%s\r\n'%(headstr, s, tailstr)#------------------------------------------------------------
insertstr = insertstr.replace('-->', '→')
insertstr = insertstr.replace('<--', '←')insertstr = insertstr.replace('<br><br>$$', "$$")
insertstr = insertstr.replace('$$<br><br>', "$$")#------------------------------------------------------------
if retflag != 0 and sharpnum == 0:insertstr = insertstr + '\r\n'if sharpnum > 0:insertstr = '#'*sharpnum + ' ' + insertstr + '\r\n'if nbspflag != 0:insertstr = '&nbsp;\r\n'*nbspflag + insertstrif endnbspflag != 0:insertstr = insertstr + '&nbsp;\r\n'*endnbspflag+'\r\n'if headlineflag != 0:insertstr = '\r\n---\r\n' + insertstrif lineflag != 0:insertstr = insertstr + '---\r\n'#------------------------------------------------------------
if len(anchorstr) > 0:insertstr = '<span id="%s"></span>\r\n'%(anchorstr) + insertstrif rnflag > 0:insertstr = insertstr + '\r\n'*rnflag#------------------------------------------------------------if blockflag == 1: insertstr = '- [ ] ' + insertstr
if blockflag == 2: insertstr = '- [x] ' + insertstrif greatflag > 0:insertstr = '>' * greatflag + insertstr + '\r\n'#------------------------------------------------------------
if menuflag != 0:insertstr = insertstr.replace('\r\n','')if len(insertstr) == 0:insertstr = '@[toc](<font face=黑体 color=teal>文章目录</font>)\r\n\r\n'else:underline = 0if insertstr.find('---') >= 0:insertstr = insertstr.replace('---','')underline = 1if len(sys.argv) < 3:spliteid = insertstr.find('</')if spliteid < 0:insertstr = insertstr + '文章目录'else:insertstr = insertstr[:spliteid] + '文章目录' + insertstr[spliteid:]insertstr = '@[toc](%s)\r\n\r\n'%insertstrif underline > 0:insertstr = insertstr + '---\r\n'#------------------------------------------------------------
#printf(insertstr)
clipboard.copy(insertstr)
tspsendwindowkey(csdn_title, 'v', control=1, noreturn=1)clipboard.copy(anchorstr)
tspfocuswindow(csdn_title)#------------------------------------------------------------
#        END OF FILE : CDF.PY
#============================================================

CSDN写作Markdown编辑器中的Python命令帮手相关推荐

  1. 在CSDN的Markdown编辑器中编辑多行花括号公式

    [在CSDN的Markdown编辑器中编辑多行花括号公式] f(x)={0x=0−1x<01x>0f(x)= \begin{cases} 0& \text{x=0}\\[3ex] ...

  2. 利用Python模拟鼠标操作,一键将GIF文件载入CSDN的Markdown编辑器

    简 介: 讨论了在csdn的Markdown编译器中自动载入GIF文件的方法.使用了Python中的pyautogui软件包,可以通过Python的小程序实现一键将GIF文件载入CSDN的Markdo ...

  3. 使用CSDN的Markdown编辑器

    法一:如果你会LaTeX 的语法,那么在CSDN博客中插入公式就会变得很轻松,CSDN博客的编辑器能够自动识别用LaTeX 语法写的公式.LaTeX 公式既可以独立成行显示,也可以与其它文字同行.需要 ...

  4. csdn的markdown编辑器如何保持图片原始大小?

    一直习惯用csdn的markdown编辑器写博客,因为一般我会用其他markdown编辑器写文章,写好以后本机导入到csdn的markdown编辑器中,比较快捷方便,但是一直有一个问题,我在本地用其他 ...

  5. CSDN的Markdown编辑器中等比例缩放图片的方法

    方法 先直接说方法,在图片链接后面加上" =??x"或" =x??"即可,其中双引号不用写,等于号前面有个空格,??是一个具体数字,代表图片缩放后的宽度或高度 ...

  6. CSDN官方Markdown编辑器的使用教程

    CSDN官方Markdown编辑器的使用教程 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成 ...

  7. csdn的markdown编辑器基本语法(整理版)

    文章目录 0 文章目录名 1 标题 2 字体设置 3 文本设置 4 按键展示 5 功能快捷键 6 生成适合的列表 7 插入链接与图片 8 插入代码段 9 创建表格 9.1 创建简单表格 9.2 htm ...

  8. markdown编辑器中数学公式的基本命令

    常见的Markdown编辑器中数学公式使用 相比于初入Markdown编辑器的小白来说,数学公式的使用是必须要掌握的一门技能.本内容大体的介绍结构如下: 插入公式 常用数学运算符 输入希腊字母 输入括 ...

  9. 使用typora在CSDN中用markdown编辑器发布gif图、mp3音频和mp4视频的语法

    使用typora在csdn中用markdown编辑器发布gif图.mp3音频和mp4视频的语法 我们要知道,markdown语法其实是兼容html语法的,typora是基于electron开发的,这也 ...

最新文章

  1. HTML form 标签的 action 属性
  2. 2:IDEA生成springboot项目,修改启动图标和网页端口
  3. 第七课、Qt中的坐标系统------------------狄泰软件学院
  4. 大剑无锋之ArrayList中使用增强for循环能删除元素吗?【面试推荐】
  5. FEIM Studios 团队欢迎您加入
  6. 数据科学 IPython 笔记本 8.11 多个子图
  7. 手机变身车机导航遥控器 高德地图上线手车互联新功能
  8. ecshop首页显示折扣的方法,ecshop商品显示折扣的方法
  9. eclipse从SVN检出的项目大面积报错怎么办
  10. 【SQL语句】 - Ctrl+3 查询表属性的存储过程 [sp_select_talberowName]
  11. HowNet文件介绍
  12. 2021年下半年软考真题及答案解析汇总
  13. STM32接收红外遥控数据
  14. 大学生个人网页模板 简单网页制作作业成品 极简风格个人介绍HTML网页设计(舞蹈培训网页)
  15. 电脑硬件常见故障维修技巧
  16. 汽车电子控制器(ECU)的硬件设计流程
  17. 程序员的我,为何来了大北京
  18. Python基础 [...,]三点切片
  19. 32位16进制转换为10进制数
  20. Unity如何调整天空盒子

热门文章

  1. [9.28模拟] good
  2. “未来已来,共赢未来!” -- 我眼中的Citrix Summit 2017 - Part 2
  3. 动手写一款简单的chrome天气插件
  4. JavaScript:Object.prototype.toString进行数据类型判定
  5. 跳槽季,TurboMail邮件系统支招防员工邮件泄密
  6. .NET平台开源项目速览(1)SharpConfig配置文件读写组件
  7. 《排序算法系列一、简单选择排序》
  8. 手把手教你如何建立自己的Linux系统(二)
  9. 程序员3月刊,一篇文章的思考
  10. 教你制作可以随身携带的FreeBSD系统[转]