支持markwon写ppt的工具marp-调研

时间:2023-03-09 19:18:00
支持markwon写ppt的工具marp-调研

  1.需求
  
  使用markdown写ppt
  
  支持大部分markdown语法,含高亮、公式及表格等
  
  支持转为html,在浏览器中展示
  
  2.调研
  
  符合条件的工具:marp
  
  用法参考
  
  Marp之简单编写PPT格式范例
  
  office-example
  
  3. 安装与插件
  
  vscode有插件 md文件中添加如下注释,启动在view的时候转化为marp
  
  ---
  
  marp: true
  
  ---
  
  官方有各平台的ide可以在download里下载使用
  
  4. 支持md语法-常用
  
  1. 二级标题
  
  重点 加粗
  
  引用支持不好
  
  1
  
  2
  
  3
  
  4. 支持md语法-表格
  
  第一格表头 第二格表头
  
  内容单元格 第一列第一格 内容单元格第二列第一格
  
  内容单元格 第一列第二格 多加文字 内容单元格第二列第二格
  
  内容单元格 第一列第三格 多加文字 内容单元格第二列第三格
  
  内容单元格 第一列第四格 多加文字 内容单元格第二列第四格
  
  4. 支持md语法-语法高亮
  
  fun main(args: Array<String>) {
  
  println("Hello World!")
  
  println("sum = ${sum(34, 67)}")
  
  println("sum = ${sum(34, 67)}")
  
  println("sum = ${sum(34, 6, 57, 34)}")
  
  //虽然经过了装箱,但是值是相等的,都是10000
  
  println(boxedA === anotherBoxedA) // false,值相等,对象地址不一样
  
  println(boxedA == anotherBoxedA) // true,值相等
  
  }
  
  4. 支持md语法-公式&图形
  
  没法支持
  
  4. 支持md语法-图片
  
  如果图片是相对目录,输出html时img和html放一块,目录结构一致
  
  支持相对目录
  
  5. marp自身要求与指令
  
  # 页分割
  
  ---
  
  # 指令格式
  
  <!-- {directive_name}: {value} -->
  
  # 设置主题: default/gaia
  
  <!-- $theme: gaia -->
  
  # 设置页面宽度&高度
  
  <!-- $width: 12in -->
  
  <!-- $height: 12in -->
  
  # 设置页面比例
  
  <!-- $size: 16:9 -->
  
  # 指定显示页码
  
  <!-- page_number: true -->
  
  # 设置页脚
  
  <!-- footer: This is a footer -->
  
  98. 如何将md文件转为html
  
  1). 常规做法
  
  安装marp-cli & 执行编译脚本,必要条件:node>8
  
  npm install -g @marp-team/marp-cli
  
  marp you.md -o file-name.html
  
  2). 基于Dokcer镜像
  
  参考文档
  
  99. 看法与缺点
  
  vscode/marp-cli插件对语法支持不完善
  
  原生ide支持部分html标记如:<center>、<big>、<hr>,但是vscode或转为html时没法支持
  
  如果有个好模板,还是能满足日常需求的
  
  功能比较单一,还是没法和真的ppt比
  
  from selenium import webdriver
  
  from selenium.webdriver.common.keys import Keys
  
  driver = webdriver.Chrome(www.myptvip8.com)
  
  driver.get("http://www.fengshen157.com")
  
  assert "Python" in driver.title
  
  elem = driver.find_element_by_name("q")
  
  elem.clear() #清空自动填入的值,保证我们的输入
  
  elem.send_keys(www.meiwanyule.cn"pycon")
  
  elem.send_keys(Keys.RETURN)
  
  assert "No results found." not in driver.page_source
  
  driver.close() #退出
  
  3、获取元素
  
  1.id定位:find_element_by_id(self, id_)
  
  2.name定位:find_element_by_name(self, name)
  
  3.class定位:find_element_by_class_name(self, name)
  
  4.tag定位:find_element_by_tag_name(self, name)
  
  5.link定位:find_element_by_link_text(self, link_text)
  
  6.partial_link定位find_element_by www.bsptvip8.com partial_link_text(self, link_text)
  
  7.xpath定位:find_element_by_xpath(self,xpath)
  
  8.css定位:find_element_by_css_selector(self,www.xycheng178.com css_selector)
  
  9.id复数定位find_elements_by_id(self,www.michenggw.com id_)
  
  10.name复数定位find_elements_by_name(self, name)
  
  11.class复数定位find_elements_by_class_name(self, name)
  
  12.tag复数定位find_elements_by_tag_name(self, name)
  
  13.link复数定位find_elements_by_link_text(self, text)
  
  14.partial_link复数定位find_elements_by_partial_link_text(self, link_text)
  
  15.xpath复数定位find_elements_by_xpath(self, xpath)
  
  16.css复数定位find_elements_by_css_selector(self, css_selector
  
  4、一些方法和其他
  
  (1)Selenium:利用select模块处理下拉框
  
  from selenium.webdriver.support.select import Select
  
  select_by_index # 通过索引定位
  
  select_by_value # 通过value值定位
  
  select_by_visible_text # 通过文本值定位
  
  根据索引选择 Select(driver.find_element_by_name("storeDeclare.cityLine")).select_by_index("3")
  
  根据value值选择 Select(driver.find_www.shengbangyule178.cn element_by_name("storeDeclare.cityLine")).select_by_value("3线")
  
  根据文本值选择 Select(driver.find_element_by_name(www.suolaieyule.com/"storeDeclare.cityLine")).select_by_visible_text("3线")
  
  refer: