什么是PDF(什么是pdf转换成word)
2641
2022-05-30
■ 前言
在以下几种情况下,需要能够在网页内快速定位跳转:
如果网页实在是太长了,后面和前面的叙述需要相互引用,实现网页内跳转可以便于阅读和查看。
如果通过连接跳转到另外的长网页,也希望能够快速定位到相关内容,则需要提供在链接网页中跳转的方式。
JohnTsai在他的博文 markdown技巧:实现网页内跳转 中给出了两种使用MARKDOWN编辑器来获得网页内的跳转方式。下面基于他介绍的方法,来给出网页内跳转实现方法。
01网页内跳转
1.基本HTML标签实现方式
这个方式是由John Tsai给出的,分成两步:
定义一个锚(id):
跳转到的地方
使用markdown语法:
[点击跳转](#jump)
2.使用csdnnote命令
方法1: 选中CSDN markdown编辑器的一段文字,然后在使用csdnnote命令,输入:
#: 直接将选中的文字转换成HTML的跳转语句,并将锚(空锚)放置在剪切板上,在后面粘贴到需要跳转的地方。
#* :将选中的问题转换成加粗跳转语句,其它的与前面相同。
方法2: 不选中任何CSDN markdown中的问题,直接运行输入:
#提示文字:将提示文字转换成HTML跳转语句,并粘贴在CSDN当前位置,生成锚拷贝到剪切板,以备后面粘贴到合适的地方。
#提示文字:与前面相同,只是将提示文字加粗*。
如果前面的提示文字是空,则只在当前位置粘贴锚。
###锚字符: 在当前位置粘贴锚,文字是锚文字.
02转移到另外网页内的跳转
实现跳转到另外网页内的特点位置,只是在传统的MARKDOWN的链接格式中,在URL字符串后面增加:#锚文字,即可。
比如下面示例中的情况。(可以点击右侧字符测试一下: 跳转到另外网页内部锚位置 )
[**跳转到另外网页内部锚位置**](https://zhuoqing.blog.csdn.net/article/details/107294049#1234)
1
当然,这需要有一个先决条件,那就是**#锚文字**在所跳转的网页内是存在的。如果这个网页也是你自己的MARKDOWN编写的话,就比较方便了。
※ 小结
采用MARKDOWN编辑文档内部,利用HTML锚标示设定的方式,可以实现网页内,网页外的锚点之间的跳转。这就大大方便对于网页内容引用的精确性。
对于其它网页的应用,必须知道其它网页内的锚的位置。如果其它网页是由你自己MARKDOWN编辑的,这个位置是已知的。但对于别人的网页如何定义出其中的锚的标示,则还需要进一步的探究和实验。
使用PYTHON命令中的csdnnote可以大大提高设定锚和跳转的操作。
对于csdnnote其它功能,比如如何在MARKDOWN内部设定 注释 , 注解 。请参照以下csdnnote的源程序来使用。
#!/usr/local/bin/python # -*- coding: gbk -*- #============================================================ # CSDNNOTE.PY -- by Dr. ZhuoQing 2020-02-12 # # Note: #============================================================ from head import * #------------------------------------------------------------ csdn_window = '写文章-CSDN博客' #------------------------------------------------------------ csdnpaste = '' tspsendwindowkey(csdn_window, 'c', control=1) csdnpaste = clipboard.paste() #------------------------------------------------------------ num = '%d'%(int(time.time()) % 1e6) if len(sys.argv) < 2: if len(csdnpaste) == 0: stringinsert = tspinputline(hint='keyword:explanation') else: stringinsert = tspinputline(hint='%s:explanation'%csdnpaste) else: stringinsert = ' '.join(sys.argv[1:]) #------------------------------------------------------------ if len(csdnpaste) > 0 and len(stringinsert) > 0: if stringinsert[0] == '.' or stringinsert[0] == '*': notestr = '*[%s]: %s'%(csdnpaste, stringinsert[1:]) if stringinsert[0] == '.': csdnpaste = ' %s '%csdnpaste else: csdnpaste = '**%s**'%csdnpaste clipboard.copy(csdnpaste) tspsendwindowkey(csdn_window, 'v', control=1) clipboard.copy(notestr) printf('\a') tspfocuswindow(csdn_window) exit() if stringinsert[0] =='#': numstr = num stringinsert = sys.argv[1].replace('_', ' ') anchorstr = '' if len(sys.argv) > 2: anchorstr = ' '.join(sys.argv[2:]) if anchorstr[0] == '*': anchorstr = '**%s**'%anchorstr[1:] if len(stringinsert) > 1: numstr = stringinsert[1:] csdnpaste1 = '[%s](#%s)'%(csdnpaste, numstr) if len(stringinsert) >= 2: if stringinsert[1] == '*': if len(stringinsert[2:]) > 0: numstr = stringinsert[2:] csdnpaste1 = '[**%s**](#%s)'%(csdnpaste, numstr) clipboard.copy(csdnpaste1) tspsendwindowkey(csdn_window, 'v', control=1) notestr = '%s'%(numstr, anchorstr) clipboard.copy(notestr) printf('\a') tspfocuswindow(csdn_window) exit() #------------------------------------------------------------ if len(csdnpaste) == 0 and len(stringinsert) > 0: strlen = 0 numstr = num if stringinsert[0] =='#': stringinsert = sys.argv[1].replace('_', ' ') anchorstr = '' if len(sys.argv) > 2: anchorstr = ' '.join(sys.argv[2:]) if anchorstr[0] == '*': anchorstr = '**%s**'%anchorstr[1:] csdnpaste1 = '[%s](#%s)'%(stringinsert[1:], num) strlen = len(stringinsert[1:]) if strlen > 0: newstr = stringinsert[1:] sharpnum = newstr.find('#') if sharpnum >= 0: csdnpaste1 = '[%s](#%s)'%(newstr[:sharpnum], newstr[sharpnum+1:]) strlen = sharpnum numstr = newstr[sharpnum+1:] #---------------------------------------------------- if len(stringinsert) >= 2: if stringinsert[1] == '*': csdnpaste1 = '[**%s**](#%s)'%(stringinsert[2:], num) strlen = stringinsert[2:] if strlen > 0: newstr = stringinsert[2:] sharpnum = newstr.find('#') if sharpnum >= 0: csdnpaste1 = '[%s](#%s)'%(newstr[:sharpnum], newstr[sharpnum+1:]) strlen = sharpnum numstr = newstr[sharpnum+1:] if len(stringinsert) >= 3: if stringinsert[0:3] == '###': if len(stringinsert[3:]) > 0: if stringinsert[-1] == '#': stringinsert = stringinsert[:-1] anchorstr = stringinsert[3:] elif stringinsert[-1] == '*': stringinsert = stringinsert[:-1] anchorstr = "**"+stringinsert[3:]+"**" notestr = '%s'%(stringinsert[3:], anchorstr) clipboard.copy(notestr) tspsendwindowkey(csdn_window, 'v', control=1) printf('\a') tspfocuswindow(csdn_window) exit() else: strlen = 0 #---------------------------------------------------- if strlen > 0: clipboard.copy(csdnpaste1) tspsendwindowkey(csdn_window, 'v', control=1) notestr = '%s'%(numstr, anchorstr) clipboard.copy(notestr) if strlen == 0: tspsendwindowkey(csdn_window, 'v', control=1) printf('\a') tspfocuswindow(csdn_window) exit() #------------------------------------------------------------ doublecolumn = stringinsert.find('::') if doublecolumn > 0: stringinsert = '**%s**:%s'%(stringinsert[0:doublecolumn], stringinsert[doublecolumn+2:]) #------------------------------------------------------------ if len(csdnpaste) == 0: notestr = '[^%s]:%s'%(num, stringinsert) + '\r\n' clipboard.copy(notestr) tspsendwindowkey(csdn_window, 'v', control=1) clipboard.copy('[^%s]'%num) else: clipboard.copy('**%s**[^%s]'%(csdnpaste, num)) tspsendwindowkey(csdn_window, 'v', control=1) if stringinsert[0] == ':': notestr = '\r\n[^%s]:%s:%s'%(num, csdnpaste, stringinsert[1:]) clipboard.copy(notestr) tspsendwindowkey(csdn_window, 'v', control=1) else: notestr = '[^%s]:%s:%s'%(num, csdnpaste, stringinsert) clipboard.copy(notestr) tspfocuswindow(csdn_window) printf('\a') #------------------------------------------------------------ # END OF FILE : CSDNNOTE.PY #============================================================
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
HTML Markdown
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。