我有一个Unix脚本,它生成一个纯文本报告。水平对齐是通过插入空格来实现的,这样输出就显示在终端中的列中。
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个字符宽)非常高的列中被串出,同样的消息很难读懂。另外,在表属性上设置格式化选项在我自己的测试中可以使用的几个电子邮件客户端之间的行为也有很大的不同!
发布于 2015-02-05 16:26:59
如果您希望对呈现的文本进行逐行控制,则应该考虑Shell脚本上的某种自动化,以便在输出中包含适当的代码。一个很好的选择是创建一个html文件,该文件可以像电子邮件模板一样发送,或者可以将预先格式化的文本从浏览器复制/粘贴到电子邮件客户端的消息合成窗口。
像这样的东西可以起作用:
.title {
color: #00f;
}
.yellow {
color: #f00;
background: #ff0;
}
.green {
color: #00f;
background: #0f0;
}
.red {
color: #ff0;
background: #f00;
}<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脚本将为您完成工作。
祝好运!
https://webmasters.stackexchange.com/questions/76894
复制相似问题