如何将 Prettify 与 Blogger/BlogSpot 一起使用?
我正在使用 blogger.com 托管一些有关编程的文本,并且我想使用 Prettify(与 StackOverflow 相同)为代码示例提供漂亮的颜色。
如何将 Prettify 脚本安装到博客域中? 链接到某个地方的共享副本会更好吗(如果确实可能的话)? 我在不同的域上有网络空间。那会有帮助吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
当您在 Blogger 中创建新条目时,您可以选择在条目中使用 HTML 以及编辑博客条目。
因此,输入 http://blogger.com,登录并导航到发帖 → < em>编辑帖子 → 编辑。将其放在顶部:
请注意,您不应直接使用
prettyPrint
作为事件处理程序。它会让人感到困惑(有关详细信息,请参阅自述文件)。这就是为什么我们传递addLoadEvent
一个函数,然后该函数返回并调用prettyPrint
。在本例中,因为 Blogger 不允许我们链接到样式表,所以我们只是嵌入 prettify.css 内容。
然后添加类名为
"prettyprint" 的
标记或
。您甚至可以指定语言,例如标记
“prettyprint lang-html”
。所以它可以看起来像这样:
或者像这样:
您放入的代码需要将其 HTML 从
<
和>
中清除。为此,只需将代码粘贴到此处: https://www.freeformatter.com/html -escape.html您可以将顶部代码放入 HTML 布局中,这样如果您愿意,默认情况下它会包含在所有页面中。
自 2012 年起,您可以在 Blogger 中链接 CSS 文件,因此将其添加到
应该就足够了:
我选择不故意替换 body onload 事件。相反,我使用旧浏览器不支持的新 DOMContentLoaded 事件。如果您需要旧版浏览器支持,您可以使用任何其他加载事件来启动 prettyPrint,例如 jQuery:
或者所谓的 史上最小的 domready
你就完成了:)
正如 Lim H 评论中指出,如果您使用 Blogger 动态视图(Ajax 模板),则需要使用此处描述的方法来绑定自定义 JavaScript 代码:页面加载时未调用 prettyPrint()
使用 GitHub 上的指南:https://github.com/google/code-prettify
基本上只需使用这个: )
When you make a new entry in Blogger, you get the option to use HTML in your entry and to edit your blog entries.
So type http://blogger.com, log in, and navigate to Posting → Edit Posts → Edit. In there put this at the top:
Note that you shouldn't use
prettyPrint
directly as an event handler. It confuses it (see the readme for details). Which is why we're passingaddLoadEvent
a function that then turns around and callsprettyPrint
.In this case, because Blogger does not allow us to link to the stylesheet, we just embed the prettify.css contents.
Then add a
<code></code>
tag or a<pre></pre>
tag with the class name of"prettyprint"
. You can even specify the language like"prettyprint lang-html"
.So it can look like this:
Or like this:
The code that you put in needs to have its HTML cleaned from
<
and>
. To do this, just paste your code in here: https://www.freeformatter.com/html-escape.htmlYou can put the top code in your HTML layout, so that it’s included for all pages by default if you like.
As of 2012, you can link CSS files in Blogger, so adding this to the
<head>
should be enough:I chose not to replace the body onload event on purpose. Instead, I'm using the new DOMContentLoaded event that the old browsers don't support. If you need old browser support, you can use any other load event to initiate prettyPrint, for example jQuery:
Or the supposedly smallest domready ever
And you're done :)
As Lim H pointed out in the comments, in case where you use the Blogger dynamic views (Ajax templates) then you need to use the method described here to bind custom JavaScript code: prettyPrint() doesn't get called on page load
Use the guide at GitHub: https://github.com/google/code-prettify
Basically just use this :)
以下内容立即对我有用。
之后:
代码段
替换之后
和
The following worked for me immediately.
<head>
in the "Edit template" field:snippet:
</head>
replace<body>
with<body onload='prettyPrint()'>
<pre class="prettyprint">int foo=0;
NSLog(@"%i", foo);
</pre>
如今,Google Code Prettify 有一个自动加载脚本。您可以通过一个 URL 加载用于美化的 JavaScript 和 CSS。
将脚本添加到 Blogger 模板的
部分,它将适用于您的所有帖子:
更多详细信息请参见入门。
Nowadays, Google Code Prettify has an auto-loader script. You can load the JavaScript and CSS for prettify via one URL.
Add the script to the
<head>
section of your Blogger template and it will work on all your posts:More detail is on Getting Started.
在您的 Blogger 帐户中添加 Google 代码美化器非常简单。
只需在您的 Blogger 帐户中的标记之前添加以下 JavaScript 库即可。
就像下图一样...
现在您已成功将 Google 代码美化器添加到您的 Blogger 帐户。
现在,如果您想在 Blogger 帖子中插入代码,请添加代码(HTML、CSS、PHP 等),然后将该代码插入到 .... 标记之间。
或
Blogger 上的 Google Prettify 演示
另请参阅以下链接中的文档,了解如何将此 Google 修饰器添加到 Blogger。
使用 Google Prettify 的 Blogger 语法荧光笔
It's very simple to add the Google Code prettifier in your Blogger account.
Just include the below JavaScript library in your Blogger account just before tag.
Just like in the below picture...
Now you have successfully added the Google Code prettifier to your Blogger account.
Now if you want to insert code in your Blogger post, add code (HTML, CSS, PHP and etc.), and insert that code between .... tags.
or
Demo of the Google Prettify on Blogger
Also please refer to this documentation for adding this Google prettifier to Blogger in the following link.
Syntax Highlighter For Blogger Using Google Prettify
看看 SyntaxHightlighter。
在该网站上,您还可以在 blogger.com 上找到有关如何使用它的说明,并且该网站提供所需脚本的托管版本,因此您无需自己在某处托管文件。
Have a look at SyntaxHightlighter.
On that site you can also find instructions on how to use it at blogger.com and the site offers a hosted version of the required scripts, so you don't need to host files somewhere yourself.
另一种解决方案是使用 syntaxhighlighter 2.0 JavaScript 库。我在我的博客上使用过它,看起来效果很好。
这是一篇关于它的博客文章:
语法突出显示使用 Blogger 引擎
Another solution is to use the syntaxhighlighter 2.0 JavaScript library. I've used it on my blog and it seems to work quite well.
Here's a blog post about it:
Syntax Highlighting with Blogger Engine
这不是对您问题的直接答案,但值得考虑 GitHub。您可以获得一个免费帐户并获得带有“gists”颜色的语法,您可以在网页上共享和托管该语法。
缺点是该副本托管在 GitHub 网站上,如果该网站出现故障,那么您也将出现故障。
It is not a direct answer to your question, but it is worth considering GitHub. You can get a free account and get syntax colored "gists" which you can share and host on your web page.
The downside is that the copy is hosted on GitHub's site and if that's down, then it's down for you too.
cdnjs 正在提供库“SyntaxHighlighter”。
转至 Blogger → 模板 → 编辑模板。在 body 标记末尾添加以下代码并保存模板。
我已经给出了一个Python 的例子。
您可以从 cdnjs 链接其他语言脚本文件。
语法高亮代码
对于其他语言,请复制脚本:https://cdnjs。 com/libraries/SyntaxHighlighter
cdnjs is providing the library "SyntaxHighlighter".
Go to Blogger → Template → Edit template. Add the below code just before the ending of the body tag and save the template.
I have given a example for Python.
You can link the other language script files from cdnjs.
Syntax highlight code
For other languages, go and copy the script: https://cdnjs.com/libraries/SyntaxHighlighter
这里是适合我的解决方案。在动态 Blogger HTML 的
...
中添加:Here is the solution that works for me. Add in the
<head>...</head>
of the dynamic Blogger HTML:转到 Blogger 主题部分,然后单击“编辑 HTML”。然后将对 Google Prettify CDN 的引用添加到 HTML 的 head 标记中。
Then include a theme for code snippet below this script...I included the Desert theme.
For more themes, visit here..
[Prettify themes][1]
When you create a post, change the edit mode from visual to **HTML** and go to the place where you are going to add the code snippet. Then include the code like this.
You can change the code style by selecting relevant languages HTML, CSS, PHP, JavaScript, etc. Here I used an **HTML** code snippet.
[1]: http://www.compromath.com/2017/02/adding-specific-code-syntax-highlighter.html
Go to the Blogger theme section and click on edit HTML.. Then add a reference to the Google Prettify CDN to the head tag of the HTML.
Then include a theme for code snippet below this script...I included the Desert theme.
For more themes, visit here..
[Prettify themes][1]
When you create a post, change the edit mode from visual to **HTML** and go to the place where you are going to add the code snippet. Then include the code like this.
You can change the code style by selecting relevant languages HTML, CSS, PHP, JavaScript, etc. Here I used an **HTML** code snippet.
[1]: http://www.compromath.com/2017/02/adding-specific-code-syntax-highlighter.html
我的方法简单,有机动性。
转到您的 Blogger 帐户,点击主题 → 自定义 → 高级 → 添加 CSS。
然后粘贴以下 CSS 代码。
为了让事情顺利进行,例如:
My way is simple and has mobility.
Go to your Blogger account click Theme → Customize → Advanced → Add CSS.
Then paste the below CSS code.
To make things work, for example: