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

网站可以自己做吗小程序开发平台有哪些

网站可以自己做吗,小程序开发平台有哪些,dw怎么用div css做网站,网站系统接口500异常TOC 前言 本文仅作为笔记记录。 在前文中&#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',f'title{level}'))self.insert('end','\n')

这就是逐个解释再即时渲染的好处,渲染器部分非常简介,因为所有渲染参数已经由解释器部分处理完毕。

在文本框的tag设定中,使用了f'title{level}'的样式命名,这是因为(见前文)我们已经将六种层级的标题样式在TinText初始化时就确定好了。

段落

语法

新一版Tin的标记段落一上来就是可多样化的。
在这里插入图片描述

旧版Tin标记语言的段落标记经过两个大版本更新才支持段落内部样式化,而且标记比较混乱,一个文本块最多使用一种样式。

先看语法定义:

<p>段落演示;
|*粗体
|/斜体
|-删除线
|_下划线
|![链接](https://.../)
|*-/这是粗体和删除线、斜体的组合文本块
| 第一个空格没有意义,这就是普通文本块
|  这才会显示一个空格
|*_![粗体下划线链接](https://.../)|

当然,这些都可以挤在同一行,而且我觉得那样更好,不必担心混乱,因为在新版TinText实现应用中,TinWriter是可以明显分隔“|”的。

若文本块中含有删除线,就需要在同一行(段落)中书写,这是强制设计的。否则会被当作注释(|-)

在这里插入图片描述

样式拼接渲染

<p>标记的渲染中,新一版TinText采用样式拼接的方法,使得不同样式可以作用于同一个文本块,这是旧版Tin标记语言做不到的。

    def __render_paragraph(self,text,newline=False):#普通文本,默认不自动换行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_mark=text[:5]head_num=0p_tags=[]if '*' in head_mark:head_num+=1p_tags.append('bold')if '/' in head_mark:head_num+=1p_tags.append('italic')if '_' in head_mark:head_num+=1p_tags.append('underline')if '-' in head_mark:head_num+=1p_tags.append('overstrike')if '!' in head_mark:# head_num+=1result=self.paragraph_link_re.match(text)if result==None:#如果使用了!开头标记但没有遵循![text](url)格式#按普通文本渲染head_num+=1else:text,url=result.groups()if text=='':text=urlindex=self.index('end')tag_name=f'"link-{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')returnindex=self.index('end-1c')tag_name=f'"paragraph-{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.fp688.cn/news/156030.html

相关文章:

  • 酒店网络设计方案seo外包品牌
  • 京东网站设计特点深圳谷歌seo公司
  • 动态网站开发从入门到实践外包网络推广公司推广网站
  • 软件研发和开发的区别seo关键词排名优化的方法
  • 洛宁网站建设湖南省人民政府
  • ps模板网站推荐厦门百度快速优化排名
  • 新疆伊犁河建设管理局网站百度seo快速排名
  • 自己网站做反链常州百度推广代理
  • 织梦网站联系我们的地图怎么做网络推广和网络营销的区别
  • 意大利语网站建设苏州百度快照优化排名
  • 拉了专线可以直接做网站吗军事最新消息
  • 免费ppt模板网站哪个好用活动策划公司
  • 有网站后台模板如何做数据库seo关键字排名优化
  • 网站建设 服务器nba排名西部和东部
  • 确定网站界面宁波seo快速优化教程
  • wordpress 悬浮音乐百度关键词搜索优化
  • 男人是用什么做的视频网站统计站老站长推荐草莓
  • 网站上的图片格式怎么做在seo优化中
  • 临沂专业做网站公司平台推广策划方案
  • 专门做当归的网站挖掘关键词工具
  • 做影视网站被告怎么办seo培训
  • 天津网站运营武汉网站seo公司
  • 国内建筑设计公司排名成都网站seo报价
  • 做照片视频的网站怎么做公司网站
  • 想做一个个人网站怎么做如何建立网站的步骤
  • 做招聘网站的背景图片搜索引擎优化的基本方法
  • 一 网站开发体会网站google搜索优化
  • wordpress加图片水印首页关键词优化价格
  • wordpress中的全站链接怎么改如何在百度上发表文章
  • 长沙精品网站建设公司爱站seo工具包官网