我的博客托管在Blogger上,我经常用C / c# / Java / XML等语言发布代码片段,但我发现这些代码片段“支离破碎”。

是否有任何网站,我可以用来事先解析代码片段,整理格式,将XML“<”转换为“&lt;”等。

在这个领域有很多关于SO的问题,但我找不到任何直接解决这个问题的问题。

编辑:对于@Rich答案,网站声明“要在您的网站上显示格式化的代码,您需要获得此CSS样式表,并在页面的<head>部分中添加对它的引用”。这就是问题所在——你不能在博客AFAIK上这样做。


当前回答

实际上,我已经使用(还有什么;-))Vim:它有一个2html“插件”。请看这里的医生。

所以当我编辑我的代码时,我只是把它转换成HTML,然后把结果粘贴到Blogger的HTML编辑器中。

注意:它不是那么漂亮的HTML(嵌入css会更好),但它只是工作。

哦:它有多种语言的语法文件,这使它非常有用。

其他回答

我使用了一个相当低技术含量的解决方案。我使用这个在线语法高亮工具格式化代码,然后将其粘贴到博客中

我在我的博客上使用SyntaxHighlighter。实际的网站托管在我自己的服务器上,而不是博主的服务器上(博主可以选择将帖子发送到你自己的网站上),但拥有自己的域名和网络托管每个月只需要几美元。

共享代码最简单的方法是使用公共主旨。只需编写一个并粘贴到嵌入代码。容易peasy。

http://gist.github.com

为了解决搜索引擎的问题,可以在页面上使用隐藏的div,简单如下:

<div style="display:none"> content </div>

Emacs的具体答案:就博客而言,它允许内联css。基于javascript的荧光笔的问题是,你必须接受它们的配色方案,或者实现你自己的配色方案。但是,像我一样,如果您喜欢自己的emacs配色方案,那么您还有更好的选择。我已经黑了“htmlize”。El”包为emacs添加以下四个功能…

blog-htmlize-buffer blog-htmlize-region blog-htmlize-buffer-with-linum blog-htmlize-region-with-linum

这些函数将在emacs中的新缓冲区中输出可复制粘贴的html(内联样式),您可以直接在您的博客文章中使用它。输出看起来与您在emacs中看到的代码完全相同(包括配色方案)。

这里是我博客的链接,在那里你可以找到如何使用“blog-htmlize”的详细信息。El "和emacs。这也消除了html编码的“小于”和“大于”符号。由于emacs负责所有的高亮显示和样式化,您不必担心js库是否支持代码片段的语言,也不必干预blogger中的模板代码。

你可以在这里找到elisp文件(将文件保存为blog-htmlize.el)

我在f#中编写了自己的代码(参见这个问题),但它仍然不是完美的(我只是做正则表达式,所以我不识别类或方法名等)。

基本上,据我所知,如果你在撰写模式和HTML模式之间切换,博客编辑器有时会吃掉你的尖括号。所以你必须粘贴到HTML模式,然后直接保存。(我可能是错的,现在刚刚尝试,它似乎工作-依赖浏览器?)

当你有泛型时,这是可怕的!