首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >格式化预先格式化的文本

格式化预先格式化的文本
EN

Webmasters Stack Exchange用户
提问于 2015-02-05 12:50:07
回答 1查看 1.7K关注 0票数 2

我有一个Unix脚本,它生成一个纯文本报告。水平对齐是通过插入空格来实现的,这样输出就显示在终端中的列中。

代码语言:javascript
复制
Caption        Caption          Caption
--------       --------         --------
Line 1         value 1          value 2
Line 2         value b          bla bla
Line 3         value 1          value 2
Line 4         value b          bla bla

报告是自动运行的,并通过电子邮件发送副本。为了使格式在邮件客户端看起来正确,我将内容类型设置为HTML,并在整个邮件内容周围添加了<PRE>预格式化标记。

这个效果够好的。不过,我想突出某些线条,如通过改变字体来设置文本和背景色。我怎么能做得最好呢?

我可以用span替换<PRE>.</PRE>来设置单宽度字体,但是如何保留空白以保持列/表的外观呢?

我试图使用实际的HTML表,但这只适用于一些邮件客户端,而在另一些邮件中,由于大多数文本在非常窄的(1到3个字符宽)非常高的列中被串出,同样的消息很难读懂。另外,在表属性上设置格式化选项在我自己的测试中可以使用的几个电子邮件客户端之间的行为也有很大的不同!

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2015-02-05 16:26:59

如果您希望对呈现的文本进行逐行控制,则应该考虑Shell脚本上的某种自动化,以便在输出中包含适当的代码。一个很好的选择是创建一个html文件,该文件可以像电子邮件模板一样发送,或者可以将预先格式化的文本从浏览器复制/粘贴到电子邮件客户端的消息合成窗口。

像这样的东西可以起作用:

CSS:

代码语言:javascript
复制
.title {
    color: #00f;
}

.yellow {
    color: #f00;
    background: #ff0;
}

.green {
    color: #00f;
    background: #0f0;
}

.red {
    color: #ff0;
    background: #f00;
}

HTML:

代码语言:javascript
复制
<pre>Hello world!</pre>
<pre class="title">Caption        Caption          Caption</pre>
<pre>--------       --------         --------</pre>
<pre class="regular">Line 1         value 1          value 2</pre>
<pre class="yellow">Line 2         value b          bla bla</pre>
<pre class="green">Line 3         value 1          value 2</pre>
<pre class="red">Line 4         value b          bla bla</pre>

结果:

在这里试试:http://jsfiddle.net/geppettvs/etycazov/

您可以定义任意多个样式,如果您将结果放到file.html中以创建希望共享的web内容,则指示Shell脚本将为您完成工作。

祝好运!

票数 2
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/76894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档