我有一个自述文件。md文件用于我的项目underscore-cli,我想记录——color标志。
目前,做到这一点的唯一方法是截图(可以存储在项目存储库中):
但截图不是文本,防止读者复制/粘贴截图中的命令。创建/编辑/维护它们也很麻烦,而且浏览器加载速度较慢。现代网络使用文本样式,而不是一堆渲染的文本图像。
虽然一些Markdown解析器支持内联HTML样式,但GitHub不支持;这行不通:
<span style="color: green"> Some green text </span>
这行不通:
<font color="green"> Some green text </font>
作为渲染光栅图像的替代方案,您可以嵌入SVG文件:
<a><img src="https://dump.cy.md/6c736bfd11ded8cdc5e2bda009a6694a/colortext.svg"/></a>
然后,您可以像往常一样向SVG文件添加颜色文本:
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="100" height="50"
>
<text font-size="16" x="10" y="20">
<tspan fill="red">Hello</tspan>,
<tspan fill="green">world</tspan>!
</text>
</svg>
不幸的是,尽管您可以在打开. SVG文件时选择和复制文本,但当嵌入SVG图像时,文本是不可选择的。
演示:https://gist.github.com/CyberShadow/95621a949b07db295000
问题是“如何在github readme中为文本上色”
哪一个是困难的/不可能的
跑题:在github的问题上,我们可以用
<span color="red">red</span>
例子:
#!/bin/bash
# Convert ANSI-colored terminal output to GitHub Markdown
# To colorize text on GitHub, we use <span color="red">red</span>, etc.
# Depends on:
# aha: convert terminal colors to html
# xclip: copy the result to clipboard
# License: CC0-1.0
# Note: some tools may need other arguments than `--color=always`
# Sample use: colors-to-github.sh diff a.txt b.txt
cmd="$1"
shift # now the arguments are in $@
(
echo '<pre>'
$cmd --color=always "$@" 2>&1 | aha --no-header
echo '</pre>'
) \
| sed -E 's/<span style="[^"]*color:([^;"]+);"/<span color="\1"/g' \
| sed -E 's/ style="[^"]*"//g' \
| xclip -i -sel clipboard