当前位置: 首页 > news >正文

阜宁网站建设公司网站建设项目来源

阜宁网站建设公司,网站建设项目来源,河南微网站建设公司哪家好,仿抖音wordpressTOC 前言 本文仅作为笔记记录。 在前文中#xff0c;我们通过标记意义解释生成了带有明确渲染要求的参数组#xff0c;以title为例#xff0c;我们获取了title, level两个明确的渲染标记#xff0c;这一部分由Tin标记解释器完成#xff0c;不需要编写者花费过多…TOC 前言 本文仅作为笔记记录。 在前文中我们通过标记意义解释生成了带有明确渲染要求的参数组以title为例我们获取了title, level两个明确的渲染标记这一部分由Tin标记解释器完成不需要编写者花费过多心思。 上一篇文章的代码片段中出现了self.__render_title(...), self.__render_paragraph(...)两个方法这就是TinText的渲染器部分。这篇文章将以这两个标签为例解释新一版TinText的渲染器实现。 标题 def __render_title(self,title,level):#标题self.insert(end,title,(title,ftitle{level}))self.insert(end,\n)这就是逐个解释再即时渲染的好处渲染器部分非常简介因为所有渲染参数已经由解释器部分处理完毕。 在文本框的tag设定中使用了ftitle{level}的样式命名这是因为见前文我们已经将六种层级的标题样式在TinText初始化时就确定好了。 段落 语法 新一版Tin的标记段落一上来就是可多样化的。 旧版Tin标记语言的段落标记经过两个大版本更新才支持段落内部样式化而且标记比较混乱一个文本块最多使用一种样式。 先看语法定义 p段落演示; |*粗体 |/斜体 |-删除线 |_下划线 |![链接](https://.../) |*-/这是粗体和删除线、斜体的组合文本块 | 第一个空格没有意义这就是普通文本块 | 这才会显示一个空格 |*_![粗体下划线链接](https://.../)|当然这些都可以挤在同一行而且我觉得那样更好不必担心混乱因为在新版TinText实现应用中TinWriter是可以明显分隔“|”的。 若文本块中含有删除线就需要在同一行段落中书写这是强制设计的。否则会被当作注释|- 样式拼接渲染 在p标记的渲染中新一版TinText采用样式拼接的方法使得不同样式可以作用于同一个文本块这是旧版Tin标记语言做不到的。 def __render_paragraph(self,text,newlineFalse):#普通文本默认不自动换行if text:passelif text[0] :self.insert(end,text[1:],paragraph)elif text[0] not in self.paragraph_mark:self.insert(end,text,paragraph)else:head_marktext[:5]head_num0p_tags[]if * in head_mark:head_num1p_tags.append(bold)if / in head_mark:head_num1p_tags.append(italic)if _ in head_mark:head_num1p_tags.append(underline)if - in head_mark:head_num1p_tags.append(overstrike)if ! in head_mark:# head_num1resultself.paragraph_link_re.match(text)if resultNone:#如果使用了!开头标记但没有遵循![text](url)格式#按普通文本渲染head_num1else:text,urlresult.groups()if text:texturlindexself.index(end)tag_nameflink-{index}if underline not in p_tags:p_tags.append(underline)self.tag_config(tag_name,font(self.font_family,self.font_size,*p_tags))self.tag_bind(tag_name,Button-1,lambda e:webbrowser.open(url))self.tag_bind(tag_name,Enter,lambda e:self.balloon.show(e,url))self.tag_bind(tag_name,Leave,lambda e:self.balloon.hide(e))self.insert(end,text,(link,tag_name))if newline:self.insert(end,\n)returnindexself.index(end-1c)tag_namefparagraph-{index}self.tag_config(tag_name,font(self.font_family,self.font_size,*p_tags))self.insert(end,text[head_num:],(paragraph,tag_name))if newline:self.insert(end,\n)在粗体、斜体、下划线、删除线部分存在开头标记就在样式列表p_tags中加入关键词超链接这在最后进行判断。最后的渲染中通过在font参数里使用*p_tags释放样式关键词就完成了文本段的渲染。
http://www.sczhlp.com/news/218498/

相关文章:

  • 要把人看做动物
  • CLIPSeg 使用文本和图像提示进行图像分割 - MKT
  • 工作室创业项目自己的网站如何优化
  • 古风网站的关于我们页面怎么做wordpress企业类模板
  • 阿里云个人网站备案做淘客曲靖网站制作公司
  • 做网站找我们深圳画册公司
  • 用微信怎么做企业网站大学网站建设招标方案
  • 一个新的网站怎么做优化wordpress 双模式
  • 阿里云网站申请用途免费自助建站排名
  • 网站外链优化方法郑州网站建设专业公司
  • 吴江区经济开发区规建设局网站9 12米农村自建房设计图
  • 专门做it招聘的网站品牌建设的规划与实施
  • 潍坊做网站潍坊做网站成都推广团队
  • 章贡区综合网站建设商家做网站备案照片的要求
  • 武昌网站建设公司医院网站模板免费下载
  • 网页设计教程免费网站怎么做网站相册
  • wordpress怎么用ftp上传插件太原seo网站建设
  • 深圳东莞的网站建设公司网站哪里做
  • 个人兴趣网站设计自建网站步骤
  • 网站建设开发公司简介模板免费图片
  • 东营微信开发网站建设做网站违法嘛
  • 长沙网站制作收费明细表网站建设柒首先金手指7
  • 企业网站的建设目的包含什么什么the wordpress
  • 语言+目标检测+粗略分割模型 联合+ sag精细化分割 = 快速精细带类别的分割 - MKT
  • 理解`super()`
  • 我国互联网公司最新市值排名!
  • 通用矩阵向量乘法(GEMV)优化实现与性能分析
  • phpcms资讯类网站模板河北网站建设搭建
  • 网站备案ip珠海百度推广优化
  • php网站屏蔽词怎么做想做农村电商怎么入手