Форматирование фрагментов кода для ведения блога в Blogger

Мой блог размещен на Blogger, и я часто публикую фрагменты кода в C / C# / Java / XML и т. д., но я нахожу этот фрагмент «искаженным».

Существуют ли какие-либо веб-сайты, которые я мог бы использовать для предварительного анализа фрагмента и сортировки форматирования, преобразования XML «<» в «&lt;» и т. д.

В SO есть ряд вопросов по этой области, но я не смог найти ни одного, который бы напрямую касался этого вопроса.

Edit: Для ответа @Rich сайт указывает "Чтобы отобразить отформатированный код на вашем сайте, вам нужно получить это таблицу стилей CSS и добавьте ссылку на нее в разделе <head> вашей страницы". Вот в чем проблема — вы не можете сделать это в Blogger, насколько мне известно.


person rbrayb    schedule 24.03.2009    source источник
comment
Чтобы отобразить отформатированный код: Если вы используете визуальную студию, вы можете скопировать код любого типа html/css/javascript/c# и т. д. в blogger. Вам необходимо установить мощные инструменты повышения производительности Visual Studio: для получения дополнительной информации прочитайте: coding-issues.blogspot.in/2013/10/   -  person Ranadheer Reddy    schedule 17.10.2013
comment
Попробуйте плагин Вставить как код Visual Studio для Windows Live Writer для автономного редактора Blogger. WYSIWYG!.   -  person herohuyongtao    schedule 28.12.2013
comment
Вам не хватает блокировщика социального контента, такого как WordPress? теперь вы можете добавить это и в блоггер шкафчик для блогов blogger com возможно ли"> stackoverflow.com/questions/27619171/   -  person craig lerr    schedule 03.01.2015
comment
Вы можете использовать этот веб-сайт для получения кода подсветки кода spinet для различных языков. он дает вам html, который вы можете разместить в своем блоге hilite.me   -  person Bhavikkumar    schedule 04.04.2016
comment
Вы можете скопировать код в intellij и вставить в свой блог. В моем блоге это прекрасно работает — codetails.blogspot .com/2017/11/design-pattern-in-java.html   -  person user3871494    schedule 20.11.2017
comment
Просто добавьте простой CSS в шаблон своего блога, как описано здесь: diegodrivendesign.com/2018/09/   -  person diegosasw    schedule 14.09.2018
comment
различные способы добавления исходного кода: sagapatra.in /2020/04/adding-code-snippet-in-blogger-post.html   -  person PITU    schedule 24.04.2020


Ответы (16)


Я создал запись в блоге, в которой объясняется, как добавить подсветку синтаксиса кода в blogger с помощью подсветки синтаксиса 2.0.

Вот мой пост в блоге:

http://www.craftyfella.com/2010/01/syntax-highlighting-with-blogger-engine.html

Я надеюсь, что это поможет вам, ребята. Я очень впечатлен тем, что он может сделать.

Ссылки выше перестали работать. Попробуйте использовать http://hilite.me/.

person CraftyFella    schedule 01.01.2010
comment
@CraftyFella попробуйте опубликовать это: static Dictionary<int, List<Delegate>> _delegate = new Dictionary<int, List<Delegate>>(); - person Kiril; 03.05.2010
comment
Если у вас есть ‹ или ›, вам придется html-кодировать текст, используя что-то вроде mindatedgeek.com/dotnet/tools/htmlencode/encode.aspx Все вышеперечисленное работает в моем блоге. - person CraftyFella; 03.05.2010
comment
Должно быть 3 кнопки вверху блока для копирования и вставки. - person CraftyFella; 08.06.2010
comment
Я обнаружил, что мне нужно добавить следующее правило CSS, чтобы предотвратить появление вертикальной полосы прокрутки во всех фрагментах кода: .syntaxhighlighter{padding-bottom:1px;} - person jackocnr; 16.10.2011
comment
Кто-нибудь может подтвердить, работает ли это до сих пор? Я попытался вставить тег script непосредственно перед разделом </head>, а также добавил тег pre вокруг моего кода. Хотя никаких изменений. - person arviman; 02.11.2011
comment
Я потратил пару часов на это, и я не могу заставить это работать вообще. - person thepaulpage; 21.03.2013
comment
@Thepaulpage Многие другие люди смогли заставить это работать .. в чем именно проблема .. Также вы можете рассмотреть ответ yodaisgreen в качестве альтернативы? - person CraftyFella; 22.03.2013
comment
Я обнаружил, что у него есть проблемы с дженериками... List‹double› foo; добавит дополнительный тег ‹/double› в конец - person tbischel; 10.04.2013
comment
Это не работает нормально для DYNAMIC view blogger, можете ли вы предоставить какую-либо альтернативу? вот мой блог с динамическим видом satindersinght.blogspot.in - person Satinder singh; 03.05.2013
comment
Ваш сайт не тормозит при загрузке? Осуществляется производительность. Какие-либо предложения ? - person Yogeesh Seralathan; 22.09.2014
comment
Я все еще не могу заставить его работать - person Sergius; 19.11.2015
comment
Похоже, что в коде, который вы должны скопировать и вставить, не хватает чего-то вверху, в частности тега ‹script›. - person John Little; 17.02.2016
comment
Хотя этот сервис выглядит очень многообещающе, но, пытаясь заставить его работать, я заметил, что он требует включения alexgorbatchev.com/pub/sh/current/scripts/clipboard.swf. Это флэш-файл, который я бы не хотел использовать в наши дни. печальный. - person Saurabh Kumar; 06.09.2016
comment
Это не работает; Blogger удаляет все http: из ссылок, заставляя их использовать тот протокол, который использует блоггер (https), а alexgorbachev.com не обслуживает файлы через HTTPS. - person Tom Lint; 13.12.2016
comment
ответ Самуэля намного лучше. Мне не нравится добавлять так много javascripts в свой блог просто для подсветки синтаксиса. Особенно страницы, которые не имеют синтаксиса для выделения, являются излишним. - person divinedragon; 17.03.2017
comment
Похоже, что syntaxhighlighter уже нет или просто не работает. Как сказал @divinedragon, ответ Самуэля на hilite.me лучше - person derekantrican; 06.09.2017
comment
Решение, которое работает для меня в июне 2021 года, это stackoverflow.com/a/67880675/3479489 - person Yayo Arellano; 08.06.2021

Самый простой способ поделиться кодом — сделать его общедоступным. Просто напишите один и вставьте код для вставки. Очень просто.

http://gist.github.com

Чтобы решить проблему с поисковой системой, можно использовать скрытый div на странице так же просто, как:

<div style="display:none"> content </div>
person yodaisgreen    schedule 10.04.2011
comment
чувак, попользовавшись им около 20 минут, я не могу отблагодарить тебя в достаточной мере! Лучшее форматирование, никакой суеты, весь код в одном месте, посты выглядят просто красиво, редактирование поста невероятно просто, так как вы не путаете код с остальной частью поста и никогда не беспокоитесь об этом что-то глупое и потерять / неправильно отформатировать любой код. Спасибо, мужик! - person Ilya Saunkin; 29.04.2011
comment
Вставка - это javascript, есть большая вероятность, что он невидим для поиска. Это в значительной степени убивает его для сообщений в блоге. - person James Moore; 03.05.2011
comment
В настоящее время я использую gists, но, вероятно, снова буду использовать SyntaxHighlighter. Суть не только использует JavaScript (что также делает их недоступными для RSS-ридеров), но и замедляет загрузку страницы, потому что каждая суть загружается последовательно, блокируя рендеринг. Не лучший выбор. - person Tomasz Nurkiewicz; 29.10.2011
comment
Спасибо! Вы сделали мой день. Я просто поделюсь этим скриптом для добавления сути в blogger: github.com/moski/gist-Blogger - person daniel.sedlacek; 07.10.2012
comment
Очень круто, но я обнаружил, что если я попытаюсь обновить свой пост, редактор съест основную ссылку. - person mbourgon; 08.04.2013
comment
Эта идея действительно работает! результат как раз нужен мне; красиво отформатированный код ... но я не буду с ним. Я бы предпочел, чтобы мой пост был полным сам по себе. Наличие кода, который является частью поста, размещенного в другом месте и включенного через js, просто побеждает это! - person dade; 25.01.2014
comment
Суть не обязательно должна быть публичной. Для секретного содержания любой, у кого есть ссылка на него, все еще может его увидеть. Но поскольку вы размещаете код в общедоступном блоге, публичная суть имеет больше смысла. - person GoYun.Info; 19.03.2015
comment
Говорят, что сообщение с помощью javascript, такого как gist, невидимо для поиска. Но я обнаружил, что один из моих постов, который содержит только суть github.com, появляется на первой странице результатов поиска Google. Так что, думаю, сейчас ситуация может измениться. Но я тоже не уверен на 100%. - person GoYun.Info; 19.03.2015
comment
вы всегда можете поместить свой код в div и указать стиль display:none - person Abhi; 05.08.2015
comment
Единственная раздражающая вещь с гистами заключается в том, что они не видны в таких приложениях, как pocket (читать позже), и вам нужно загрузить веб-страницу, чтобы увидеть, чего не хватает. - person Samuel; 24.09.2015
comment
Вы можете легко включить содержимое gist в свой блог, скопировав встроенный скрипт из gist и вставив его в html-контент своего блога blogspot. Прохладный - person Enrico Giurin; 22.12.2016
comment
При размещении комментария: Ваш HTML не может быть принят: Тег не разрешен: SCRIPT - person Stevoisiak; 13.06.2018

Для своего блога я использую http://hilite.me/ для форматирования исходного кода. Он поддерживает множество форматов и выводит довольно чистый html. Но если у вас много фрагментов кода, вам придется много копировать и вставлять. Для форматирования кода Python я также использовал Pygments (запись в блоге).

person Samuel    schedule 25.01.2012
comment
Раньше я использовал hilite.me, но теперь предпочитаю dillinger.io - person GoYun.Info; 19.03.2015
comment
Я также предпочитаю это gist.github. Не требуется javascript и дополнительный стиль/css. Спасибо, сэр. - person Prabowo Murti; 17.05.2018

Этот css-скрипт может быть полезен всем — он не предназначен для подсветки синтаксиса, но хорошо работает для представления исходного кода в исходном формате:

 <pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; 
                color: #000000; background-color: #eee;
                font-size: 12px; border: 1px dashed #999999;
                line-height: 14px; padding: 5px; 
                overflow: auto; width: 100%">
       <code style="color:#000000;word-wrap:normal;">

            <<<<<<<YOUR CODE HERE>>>>>>>

       </code>
 </pre>

Как использовать:

  1. Вставьте этот фрагмент в текстовый редактор,
  2. вставьте свой код в блок ‹‹‹‹‹‹>>>>>>.
  3. Скопируйте все и
  4. вставить в HTML-представление в блоггере (или любом другом) редакторе сообщений.

ПРЕИМУЩЕСТВА: простота и удобство использования, меньше настроек, простота перенастройки, отсутствие дополнительного программного обеспечения.

person gtiwari333    schedule 02.01.2012
comment
Самый простой и аккуратный ответ на мой взгляд. Просто создайте внутренний CSS, и все готово. - person Rishik Mani; 24.10.2018
comment
у меня тоже работает нормально. простое решение - person Hasitha; 12.04.2020

Это можно сделать довольно легко с помощью SyntaxHighlighter. У меня есть пошаговые инструкции для Настройка SyntaxHighlighter в Blogger в моем блоге. SyntaxHighlighter очень прост в использовании. Он позволяет публиковать фрагменты в необработанном виде, а затем заключать их в pre блоки, например:

<pre name="code" class="brush: erlang"><![CDATA[
-module(trim).

-export([string_strip_right/1, reverse_tl_reverse/1, bench/0]).

bench() -> [nbench(N) || N <- [1,1000,1000000]].

nbench(N) -> {N, bench(["a" || _ <- lists:seq(1,N)])}.

bench(String) ->
    {{string_strip_right,
    lists:sum([
        element(1, timer:tc(trim, string_strip_right, [String]))
        || _ <- lists:seq(1,1000)])},
    {reverse_tl_reverse,
    lists:sum([
        element(1, timer:tc(trim, reverse_tl_reverse, [String]))
        || _ <- lists:seq(1,1000)])}}.

string_strip_right(String) -> string:strip(String, right, $\n).

reverse_tl_reverse(String) ->
    lists:reverse(tl(lists:reverse(String))).
]]></pre>

Просто измените имя кисти на «python», «java» или «javascript» и вставьте код по вашему выбору. Тегирование CDATA позволяет вам помещать туда практически любой код, не беспокоясь об экранировании сущностей или других типичных неприятностях, связанных с ведением блога кода.

person Alain O'Dea    schedule 30.03.2010
comment
Ваши инструкции сработали для меня лучше, чем другой ведущий ответ. На случай, если кто-то захочет их найти, здесь приведен список связанных кистей и их псевдонимов. . - person Scott; 20.06.2013

1. Сначала сделайте резервную копию своего шаблона blogger
2. После этого откройте свой шаблон blogger (в режиме редактирования HTML) и скопируйте все css указан в этой ссылке перед тегом </b:skin>
3. Вставьте следующий код перед </head> тег

<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shCore.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCpp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCSharp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushCss.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushDelphi.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJava.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushJScript.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPhp.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushPython.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushRuby.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushSql.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushVb.js' type='text/javascript'></script>
<script src='http://syntaxhighlighter.googlecode.com/svn/trunk/Scripts/shBrushXml.js' type='text/javascript'></script>

4. Вставьте следующий код перед тегом </body>.

<script language='javascript'>
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code');
</script>

5. Сохраните шаблон Blogger.
6. Теперь подсветка синтаксиса готова к использованию, вы можете использовать ее с тегом <pre></pre>.

<pre name="code">
...Your html-escaped code goes here...
</pre>

<pre name="code" class="php">
    echo "I like PHP";
</pre>

7. Вы можете экранировать свой код здесь.
8. Здесь приведен список поддерживаемых языков для < b><class> атрибут.

person Mahesh Meniya    schedule 01.06.2012
comment
Хорошая ссылка. Было бы лучше, если бы он был цветным! +1 - person Gaʀʀʏ; 13.06.2012
comment
@le_garry: спасибо, у меня возникла проблема при форматировании фрагмента кода, поэтому он не в цвете. - person Mahesh Meniya; 18.06.2012
comment
Смотрите ответ от gissolved. Лучший хайлайтер, который я когда-либо видела, и он хорошо окрашивает. - person Gaʀʀʏ; 18.06.2012
comment
@le_garry О, вы говорите о выделении синтаксиса в Blogger. Он отлично работает с цветом. Я неправильно понимаю, что вы думаете о моем ответе. Итак, мне было грустно, что я столкнулся с некоторой проблемой .. - person Mahesh Meniya; 19.06.2012
comment
@MaheshMeniya Я выполнил все шаги, которые вы написали для синтаксической подсветки синтаксиса, но он не работает, есть ли какие-то дополнительные мысли, что мне не хватает? - person AA.SC; 02.11.2014
comment
@MaheshMeniya Спасибо, это форматирование. Но нет вложенных отступов. Что может быть причиной? - person user2771655; 04.11.2014
comment
@MaheshMeniya Большое спасибо за ответ. Но когда я нажимаю syntaxhighlighter.googlecode.com/svn/trunk/Styles/ Выдает ошибку - person MayankGaur; 01.07.2021

http://formatmysourcecode.blogspot.co.uk/ работает нормально, вы просто копируете, форматируете, вставляете назад.

person Gob00st    schedule 09.05.2012
comment
Я использую это для своего блога. Однако для людей, которые любят цвета, это не цветовой код! Я люблю это просто и ясно. - person Aravind; 26.02.2016

Я использую довольно низкотехнологичное решение. Я форматирую код с помощью этого онлайн-инструмента для подсветки синтаксиса, а затем просто вставляю его в блог.

person Phil Hale    schedule 02.07.2011
comment
Да, tohtml — это решение, рекомендованное TechNet Wiki для вставки кода! - person rbrayb; 20.10.2011
comment
@Phil Hale В этом инструменте нет отступов. - person user2771655; 04.11.2014
comment
Это лучшее решение, которое я нашел до сих пор. Спасибо - person Kinjal; 07.09.2018

Вот один сайт, который отформатирует ваш код и выдаст HTML и даже включает встроенные стили для синтаксиса. раскраска. Может не сработать для всех ваших потребностей, но это хорошее начало. Я считаю, что он сделал источник доступным, если вы хотите его расширить:

person Rich    schedule 24.03.2009
comment
Больше не работает. - person Ε Г И І И О; 24.07.2019

Я создал инструмент, который выполняет свою работу. Вы можете найти его в моем блоге:

Бесплатный онлайн-раскрасчик кода C#

Помимо раскрашивания кода C#, инструмент также позаботится обо всех символах '‹' и '>', преобразуя их в '' и ''. Вкладки преобразуются в пробелы, чтобы они выглядели одинаково в разных браузерах. Вы даже можете сделать колоризатор встроенным в стили CSS, если вы не можете или не хотите вставлять таблицу стилей CSS в свой блог или веб-сайт.

person Pavel Vladov    schedule 15.03.2013

Я использую SyntaxHighlighter в своем блоге на платформе Blogger. Сам сайт размещен на моем собственном сервере, а не на сервере Blogger (у Blogger есть возможность размещать сообщения на вашем собственном сайте по ftping), но наличие собственного домена и веб-хостинга стоит всего пару долларов в месяц.

person Pete Kirkham    schedule 24.03.2009
comment
Согласен - есть несколько вариантов, если я размещаю свой собственный блог, но, похоже, особой поддержки нет, когда блог фактически размещается в Blogger. - person rbrayb; 25.03.2009

Похоже, в SyntaxHighlighter 2.0 были внесены некоторые изменения, упрощающие использование с Blogger.

Существуют размещенные версии стилей и JavaScript по адресу: http://alexgorbatchev.com/pub/sh/

person Daniel Ballinger    schedule 10.11.2009

На самом деле я использовал (что еще ;-)) Vim для этого: у него есть "плагин" 2html. См. здесь.

Поэтому, когда я редактирую свой код, я просто преобразовываю его в HTML и вставляю результаты в HTML-редактор Blogger.

Примечание: это не такой красивый HTML (встроенный css был бы лучше), но он просто работает.

О: и у него есть файлы синтаксиса для нескольких языков, что делает его довольно полезным.

person Zsolt Botykai    schedule 24.03.2009

Конкретный ответ Emacs: Что касается блоггера, он позволяет использовать встроенный css. Проблема с маркерами на основе javascript заключается в том, что вам приходится жить с их цветовой схемой или реализовывать свою собственную. Но, как и я, если вы поклонник собственной цветовой схемы emacs, у вас есть гораздо лучший вариант. Я взломал пакет "htmlize.el" для emacs, чтобы добавить следующие четыре функции...

  1. блог-htmlize-буфер
  2. блог-htmlize-регион
  3. блог-htmlize-buffer-with-linum
  4. блог-htmlize-region-with-linum

Эти функции будут выводить готовый к копированию и вставке html (встроенный стиль) в новый буфер в emacs, который вы можете напрямую использовать в своем блоге. Вывод выглядит точно так же, как код в emacs (включая цветовую схему).

Вот ссылка на мой блог, где вы можете найти подробную информацию о том, как использовать "blog-htmlize.el" с emacs. Это также устраняет html-кодирование знаков «меньше» и «больше». И поскольку emacs выполняет всю подсветку и стилизацию, вам не нужно беспокоиться о том, поддерживает ли библиотека js язык ваших фрагментов кода, и вам не нужно вмешиваться в код вашего шаблона в blogger.

Вы можете найти файл elisp здесь (сохраните файл как < strong>blog-htmlize.el)

person Sujeet    schedule 25.06.2011

Я свернул свой собственный на F # (см. -formatting">этот вопрос), но он все еще не идеален (я просто делаю регулярные выражения, поэтому я не узнаю имена классов или методов и т. д.).

По сути, насколько я могу судить, редактор блоггера иногда съедает ваши угловые скобки, если вы переключаетесь между режимами Compose и HTML. Поэтому вам нужно вставить в режим HTML, а затем сохранить напрямую. (Возможно, я ошибаюсь, только что попробовал и, кажется, работает - зависит от браузера?)

Это ужасно, когда у тебя есть дженерики!

person Benjol    schedule 27.03.2009

Чтобы опубликовать свой html, javascript,c# и java, вы должны преобразовать специальные символы в код HTML. как '<' как &lt; и с '>' по &gt; и т.д.

Добавьте эту ссылку Конвертер кода в iGoogle. Это поможет вам преобразовать специальные символы.

Затем добавьте новую версию SyntaxHighlighter 3.0.83, чтобы настроить свой код в Blogger. Но вы должны знать, как настроить синтаксическую подсветку в вашем шаблоне блоггера.

person Mdhar9e    schedule 26.06.2012