Wordpress 自动代码标记

Wordpress 自动代码标记,wordpress,syntax-highlighting,markup,Wordpress,Syntax Highlighting,Markup,是否有一种工具(类似于StackOverflow上的标记)可以将代码(基于语法和关键字)转换为标记代码?换言之,去除代码污点,添加适当的标签和样式,使其显示出漂亮的颜色(或者缩进) 具体来说,我希望至少对C#和SQL使用特定于语言(或语言感知)的语言。它可以是WordPress的一个插件,或者只是一个格式化程序,我可以将我的代码发布到其中,然后复制粘贴到WordPress(或其他地方)。可移植性很好。我个人喜欢这样的脚本:Vim是一个非常好的工具。您不必使用它作为编辑器(尽管每一个优秀的开发人员

是否有一种工具(类似于StackOverflow上的标记)可以将代码(基于语法和关键字)转换为标记代码?换言之,去除代码污点,添加适当的标签和样式,使其显示出漂亮的颜色(或者缩进)


具体来说,我希望至少对C#和SQL使用特定于语言(或语言感知)的语言。它可以是WordPress的一个插件,或者只是一个格式化程序,我可以将我的代码发布到其中,然后复制粘贴到WordPress(或其他地方)。可移植性很好。

我个人喜欢这样的脚本:

Vim是一个非常好的工具。您不必使用它作为编辑器(尽管每一个优秀的开发人员都应该考虑这样做,但我离题),您可以使用它作为一个纯粹的语法感知代码到HTML处理器。 例如,以Python3脚本为例(本清单中的语法着色是通过StackOverflow实现的):

使用Vim颜色方案灯,此方法产生:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>~/Projects/google/geocoding.py.html</title>
<meta name="Generator" content="Vim/7.3">
<meta name="plugin-version" content="vim7.3_v10">
<meta name="syntax" content="python">
<meta name="settings" content="use_css,expand_tabs">
<style type="text/css">
<!--
pre { font-family: monospace; color: #000000; background-color: #c7c7c7; }
body { font-family: monospace; color: #000000; background-color: #c7c7c7; }
.Constant { color: #bd00bd; }
.Normal { color: #000000; background-color: #c7c7c7; }
.Statement { color: #191970; font-weight: bold; }
.Comment { color: #005500; }
.String { color: #8b4500; }
-->
</style>
</head>
<body>
<pre>
<span class="String">'Get geocode data from Google'</span>

<span class="Comment"># See <a href="https://developers.google.com/maps/documentation/geocoding">https://developers.google.com/maps/documentation/geocoding</a></span>

<span class="Statement">import</span> urllib, urllib2
<span class="Statement">import</span> json

params = {<span class="String">'address'</span>: <span class="String">&quot;1600 Amphitheatre Parkway, Mountain View, CA&quot;</span>,
          <span class="String">'sensor'</span>: <span class="String">'false'</span>}

base_url = <span class="String">'<a href="http://maps.googleapis.com/maps/api/geocode/json">http://maps.googleapis.com/maps/api/geocode/json</a>'</span>
url = base_url + <span class="String">'?'</span> + urllib<span class="Normal">.</span>urlencode(params)

reply = json<span class="Normal">.</span>loads(urllib2<span class="Normal">.</span>urlopen(url)<span class="Normal">.</span>read() )
print json<span class="Normal">.</span>dumps(reply, sort_keys=<span class="Statement">True</span>, indent=<span class="Constant">4</span>, separators=(<span class="String">','</span>, <span class="String">': '</span>))

</pre>
</body>
</html>

~/Projects/google/geocoding.py.html
“从谷歌获取地理编码数据”
#看
导入urllib,urllib2
导入json
params={'address':“加利福尼亚州山景城1600圆形剧场公园路”,
“传感器”:“错误”}
基本url=“”
url=base_url+'?'+urllib.urlencode(参数)
reply=json.loads(urllib2.urlopen(url.read())
打印json.dumps(reply,sort_keys=True,indent=4,分隔符=(',',':'))
请注意,每个语法元素在CSS样式部分中都有一种颜色,如果不想修改Vim颜色方案,可以在html中对其进行调整

以下是您将在浏览器中看到的内容。我已将其剪裁为图像,以避免StackOverflow引起的颜色变化:

以下是如何做到这一点:

  • 安装Vim gui。官员会让你开始的。如果您不能使用gui,希望不会破灭,我将在下面对该案例进行评论
  • 选择所需的语法颜色。我习惯于选择和下载配色方案。您可以将配色方案文件放在
    ~/.vim/colors
    目录中,或者将Windows的配色方案文件放在
    %USERPROPFILE%/vimfiles/colors
    目录中
  • 启动Vim
  • 加载要使用语法着色标记的源代码。您可以使用命令
    :e
    执行此操作,其中
    是源文件的位置。Vim gui还将提供打开文件的菜单命令,您可能更喜欢这样做,以便可以浏览文件系统
  • 加载您的配色方案。键入
    :color
    其中
    是您在步骤2中保存的颜色方案,不带
    .vim
    扩展名。例如,我使用
    :color synic
    ~/.vim/colors/synic.vim
    中加载颜色方案。(在Vim中,“:”将您置于“命令模式”。当您输入命令并按
    时,您将回到所谓的“正常模式”。)
  • 告诉Vim使用命令
    :TOhtml
    生成html。将打开一个新窗口,您将看到html标记。执行_Vim_命令时,请确保使用正确的大小写
  • 光标应位于带有标记的新窗口中。使用gui的文件菜单保存此文件,或输入命令
    :w
  • 或者,如果希望在生成的HTML中显示行号,请在
    :TOhtml
    之前使用命令
    :set number

    如果设置配色方案后没有看到语法着色显示,请尝试命令
    :syntax on
    。如果您正在为vim无法识别的语言或文本格式进行语法着色,您可能会在web上找到该语言的语法文件。关于如何安装语法文件的详细信息超出了我在这里要写的内容,但是您最喜欢的搜索引擎在这个主题上有很多内容。尝试搜索,例如
    vim syntax
    。要查看Vim认为您有什么语言,请使用命令“:set ft?”


    如果像我一样,你更喜欢使用“代码> vim < /代码>的终端格式,还有一点要考虑。您不能创建终端不支持的颜色。大多数终端应用程序提供2、16或256色。使用说明使Vim以256色输出(如果尚未输出)。并不是所有的配色方案都能在开箱即用的终端上很好地工作,但是关于帮助的说明实质上是有用的,尽管它们是在编写时考虑到了更有经验的Vim用户。如果您需要做的事情比我在上述步骤中概述的要多,那么最好运行Vim教程(

    :help tutorial
    )?离题?认真地这不是wordpress特有的。它是关于代码的,它是关于软件的软件工具。这怎么与软件无关?讽刺的是,3年后,它已经成为了一个话题,因为它是一个外部工具的建议。叹息
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>~/Projects/google/geocoding.py.html</title>
    <meta name="Generator" content="Vim/7.3">
    <meta name="plugin-version" content="vim7.3_v10">
    <meta name="syntax" content="python">
    <meta name="settings" content="use_css,expand_tabs">
    <style type="text/css">
    <!--
    pre { font-family: monospace; color: #000000; background-color: #c7c7c7; }
    body { font-family: monospace; color: #000000; background-color: #c7c7c7; }
    .Constant { color: #bd00bd; }
    .Normal { color: #000000; background-color: #c7c7c7; }
    .Statement { color: #191970; font-weight: bold; }
    .Comment { color: #005500; }
    .String { color: #8b4500; }
    -->
    </style>
    </head>
    <body>
    <pre>
    <span class="String">'Get geocode data from Google'</span>
    
    <span class="Comment"># See <a href="https://developers.google.com/maps/documentation/geocoding">https://developers.google.com/maps/documentation/geocoding</a></span>
    
    <span class="Statement">import</span> urllib, urllib2
    <span class="Statement">import</span> json
    
    params = {<span class="String">'address'</span>: <span class="String">&quot;1600 Amphitheatre Parkway, Mountain View, CA&quot;</span>,
              <span class="String">'sensor'</span>: <span class="String">'false'</span>}
    
    base_url = <span class="String">'<a href="http://maps.googleapis.com/maps/api/geocode/json">http://maps.googleapis.com/maps/api/geocode/json</a>'</span>
    url = base_url + <span class="String">'?'</span> + urllib<span class="Normal">.</span>urlencode(params)
    
    reply = json<span class="Normal">.</span>loads(urllib2<span class="Normal">.</span>urlopen(url)<span class="Normal">.</span>read() )
    print json<span class="Normal">.</span>dumps(reply, sort_keys=<span class="Statement">True</span>, indent=<span class="Constant">4</span>, separators=(<span class="String">','</span>, <span class="String">': '</span>))
    
    </pre>
    </body>
    </html>