HTML-Pipeline

HTML 格式转换过滤器
授权协议 MIT
开发语言
所属分类 开发工具、 代码管理分析/审查/优化
软件类型 开源软件
地区 不详
投 递 者 叶智
操作系统 未知
开源组织
适用人群 未知
 软件概览

HTML-Pipeline 是一个轻量级框架,可用于将用户的内容转换为 HTML 格式。

HTML-Pipeline 提供了一些可链接的、基于 DOM 的 HTML 过滤器,且支持将过滤器组成管道。

用法

过滤器采用 HTML 字符串或 Nokogiri::HTML::DocumentFragment,可以对内容进行操作,然后输出对应的结果。

如,将 Markdown 源代码转换为 Markdown HTML :

require 'html/pipeline'

filter = HTML::Pipeline::MarkdownFilter.new("Hi **world**!")
filter.call

过滤器可以组合成一个管道,每个过滤器将输出传递给下一个过滤器的输入。如果你想让内容通过 Markdown 过滤且语法突出显示,可以创建以下管道:

pipeline = HTML::Pipeline.new [
  HTML::Pipeline::MarkdownFilter,
  HTML::Pipeline::SyntaxHighlightFilter
]
result = pipeline.call <<-CODE
This is *great*:

    some_code(:first)

CODE
result[:output].to_s

输出:

<p>This is <em>greatem>:p>

<pre><code>some_code(:first)
code>pre>

如果要为 HTML 格式的代码生成 CSS,请使用 Rouge CSS Theme #css方法。rougeSyntaxHighlightFilter的依赖项。

有些过滤器接受可选的上下文 且/或 结果 哈希,用于在管道中的过滤器之间传递参数和元数据。例如,如果你不想使用 GitHub 格式的 Markdown,可以在上下文哈希中传递一个选项:

filter = HTML::Pipeline::MarkdownFilter.new("Hi **world**!", :gfm => false)
filter.call

用例

为应用的不同部分定义不同的管道。

# The context hash is how you pass options between different filters.
# See individual filter source for explanation of options.
context = {
  :asset_root => "http://your-domain.com/where/your/images/live/icons",
  :base_url   => "http://your-domain.com"
}

# Pipeline providing sanitization and image hijacking but no mention
# related features.
SimplePipeline = Pipeline.new [
  SanitizationFilter,
  TableOfContentsFilter, # add 'name' anchors to all headers and generate toc list
  CamoFilter,
  ImageMaxWidthFilter,
  SyntaxHighlightFilter,
  EmojiFilter,
  AutolinkFilter
], context

# Pipeline used for user provided content on the web
MarkdownPipeline = Pipeline.new [
  MarkdownFilter,
  SanitizationFilter,
  CamoFilter,
  ImageMaxWidthFilter,
  HttpsFilter,
  MentionFilter,
  EmojiFilter,
  SyntaxHighlightFilter
], context.merge(:gfm => true) # enable github formatted markdown


# Define a pipeline based on another pipeline's filters
NonGFMMarkdownPipeline = Pipeline.new(MarkdownPipeline.filters,
  context.merge(:gfm => false))

# Pipelines aren't limited to the web. You can use them for email
# processing also.
HtmlEmailPipeline = Pipeline.new [
  PlainTextInputFilter,
  ImageMaxWidthFilter
], {}

# Just emoji.
EmojiPipeline = Pipeline.new [
  PlainTextInputFilter,
  EmojiFilter
], context
  • 一、Pipeline(流水线、管道) Redis客户端执行一次命令,需要经历发送命令、命令排队、命令执行、返回结果四个过程。4个过程统称为一次Round Trip Time (RRT,往返时间) Pipeline(流水线)机制能将一组Redis命令进行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端 性能测试: 执行速度一般比逐条执行要快, 客户端和服务端的

  • scrapy-pipeline的方法 a # -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to the ITEM_PIPELINES setting # See: https://doc.scrapy.org/en/latest/topics/item-

 相关资料
  • 在这一节将实现一个更复杂的EL自定义函数的例子。 例子 : 过滤HTML格式中的特殊字符 1. 实例说明 该示例的功能是替换HTML格式中的特殊字符,这些特殊字符如表7.6所示。 表7.6 特殊字符和替换字符串对照表 特殊字符 替换字符串 <  &lt; >  &gt; & &amp; " &quot; 空格 &nbsp; 2. 使用Tomcat自带的例子来实现EL自定义函数 在Tomcat自带的

  • Markdown 文档可以方便地转换为 HTML、Word、PDF 等格式的文档。这些转换既可以通过你正在使用的 Markdown 编辑器完成,也可以通过一些命令行工具(如 Pandoc、Gitbook)来完成,甚至可以用你熟悉的语言编程实现。 这个部分主要介绍通过编辑器或命令行工具来实现 Markdown 文档到下列格式的转换: HTML PDF Word

  • 如果你对 Hprose 协议本身有所了解的话,你还可以直接在 Hprose 过滤器中对输入输出数据进行协议转换。 在 Hprose for PHP 中已经提供了现成的 JSONRPC 的过滤器。使用它,你可以将 Hprose 服务器变身为 Hprose + JSONRPC 双料服务器。也可以将 Hprose 客户端变身为 Hprose + JSONRPC 双料客户端。 main.go packag

  • 我对docx4j样本有一些问题。我需要转换一个文件从docx在html格式和回来。我正在尝试编译ConvertInXHTMLDocument。java示例。它创建的Html文件很好,但当试图将其转换回docx时,抛出一个缺少关闭标记(META、img等)的异常。有人遇到过这个问题吗?

  • 我有一个超文本标记语言的非常简单的表格,其中包含12列。我试图使用iText 5.1.1(Java)将其转换为PDF。 我的问题是,PDF输出中的表格换行了。我的意思是,它显示第一行,但在页面的末尾换行,然后没有换行符或任何东西,它只显示紧接在前一行的最后一个单元格之后的下一行。 如何使iText的HtmlWorker “nowrap”我的表格,即在PDF中显示一行? 顺便说一句,我仍然希望单元格

  • 本文向大家介绍Python实现把xml或xsl转换为html格式,包括了Python实现把xml或xsl转换为html格式的使用技巧和注意事项,需要的朋友参考一下 前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。 用的libxml2,所以还要先安装了libxml2模块才能使用。

  • 问题内容: 我在转换WAV文件的音频格式时遇到麻烦。 我正在从麦克风录制声音,并且声音以以下格式录制:PCM_SIGNED 44100.0 Hz,16位,单声道,2字节/帧 我想将上述格式转换为ULAW 8000.0 Hz,8位,单声道,1字节/帧 我正在使用以下代码, 我收到以下错误, java.lang.IllegalArgumentException:不支持的转换:ULAW 8000.0 H