Форматування фрагментів коду для блогів на Blogger [закрито]


282

Мій блог розміщується в Blogger, і я часто розміщую фрагменти коду в C/ C#/ Java/ XMLтощо, але я вважаю, що фрагмент стає "заблуканим".

Чи є веб-сайти, за допомогою яких я міг би заздалегідь проаналізувати фрагмент та розібратися у форматуванні, перетворити XML <у " &lt;" і т.д.

Є багато питань навколо цієї області на SO, але я не міг знайти жодного, який би вирішив це питання безпосередньо.

Edit:Для відповіді @Rich , на сайті зазначено: "Щоб відобразити відформатований код на вашому сайті, вам потрібно отримати цю таблицю стилів CSS та додати посилання на неї у <head>розділі вашої сторінки" . Ось у чому проблема - ви не можете цього зробити в Blogger AFAIK.


3
Для відображення відформатованого коду: Якщо ви використовуєте візуальну студію, ви можете скопіювати будь-який тип коду html / css / javascript / c # тощо до блогера. Ви повинні встановити електроінструменти для продуктивності візуальної студії: для отримання додаткової інформації читайте: coding-issues.blogspot.in/2013/10/…
Ranadheer Reddy

Спробуйте плагін Вставити як код візуальної студії для Windows Live Writer для офлайн редактора Blogger. WYSIWYG! .
herohuyongtao

Вам не вистачає шафки соціального вмісту, як WordPress? Тепер ви можете додати це в блогером занадто stackoverflow.com/questions/27619171 / ...
Craig LERR

1
Ви можете використовувати цей веб-сайт для отримання коду виділення коду для різної мови. він дає вам html ви можете опублікувати його у своєму блозі hilite.me
Bhavikkumar

Ви можете скопіювати код у intellij та вставити у свій блог. Для мене це працює як принадність у моєму блозі - codetails.blogspot.com/2017/11/design-pattern-in-java.html
user3871494

Відповіді:


253

Я створив запис у блозі, в якому пояснюється, як додати виділення синтаксису коду до блогера за допомогою syntaxhighlighter 2.0

Ось мій пост у блозі:

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

Сподіваюся, це допоможе вам, хлопці. Я дуже вражений тим, що він може зробити.


2
Чи може хтось підтвердити, чи це все-таки працює? Я спробував вставити тег сценарію перед </head>розділом і також додав попередній тег навколо мого коду. Жодних змін, хоча.
arviman

2
Я витратив на це пару годин, і я взагалі не можу змусити це працювати.
thepaulpage

1
Не працює нормально для блогера DYNAMIC View, чи можете ви надати будь-яку альтернативу? ось мій блог з динамічним виглядом satindersinght.blogspot.in
Satinder singh

1
Схоже, що в коді, який ви повинні скопіювати і вставити, у верхній частині відсутнє щось, зокрема тег <script>.
Джон Малий

1
Відповідь Самуїла набагато краща. Мені не подобається додавати стільки яваскриптів у мій блог лише для виділення синтаксису. Тим більше, що сторінки, які не мають синтаксису для висвітлення, є надлишком.
divinedragon

126

Найпростіший спосіб ділитися кодом - це публічна суть. Просто напишіть його і вставте код вбудовування. Простенька.

http://gist.github.com

Для вирішення проблеми пошукової системи можна використовувати приховані divна сторінці такі ж прості, як:

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

чувак, після використання його протягом 20 хвилин я не можу тобі достатньо подякувати! Найкраще форматування, без густоти, весь код знаходиться в одному місці, публікації виглядають просто красиво, редагування публікації неймовірно просто, оскільки ви не змішуєте код з рештою публікації і ніколи не турбуєтесь про своє щось дурне і втратити / неправильно відформатувати будь-який код. Спасибі людина!
Ілля Саункін

19
Вбудований javascript, є хороший шанс, що його непомітно шукати. Це в значній мірі вбиває це для публікацій в блозі.
Джеймс Мур

6
Наразі я використовую ноти, але, ймовірно, знову буду використовувати SyntaxHighlighter. Не тільки сути використовують JavaScript (що робить їх недоступними і для RSS-читачів), але й сповільнюють завантаження сторінок, оскільки кожен додаток завантажується послідовно, блокуючи візуалізацію. Не вдалий вибір.
Томаш Нуркевич

Дякую! Ти зробив мій день. Я просто поділюсь
daniel.sedlacek

1
Ця ідея справді прекрасно працює! результат - просто хочу, що мені потрібно; добре відформатований код ... але я з ним не збираюся йти. Я вважаю за краще, щоб моя посада була повноцінною і вимикалася сама. Наявність коду, який є частиною допису, розміщеного в іншому місці та включеного через js, просто перемагає це!
Даде

63

Для свого блогу я використовую http://hilite.me/ для форматування вихідного коду. Він підтримує безліч форматів і виходів досить чистих HTML. Але якщо у вас є багато фрагментів коду, вам доведеться зробити багато копіювальної пасти. Для форматування коду Python я також використовував Pygments ( повідомлення в блозі ).


Раніше я використовував hilite.me , але зараз я віддаю перевагу dillinger.io
GoYun.Info

Я також віддаю перевагу цьому gist.github. Не потрібно JavaScript та додатковий стиль / css. Дякую вам сер.
Prabowo Murti

40

Цей скрипт 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 у редакторі публікацій блогера (чи будь-якого іншого).

ПЕРЕВАГИ: Простий і простий у використанні, менше конфігурації, простий перенастроювання, без додаткового програмного забезпечення


1
Найпростіша і акуратна відповідь на мій погляд. Просто створіть внутрішній CSS, і ви готові йти.
Рішик Мані

добре працює і для мене. просте рішення
Хасіта

15

Це можна зробити досить легко за допомогою 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 дозволить вам помістити туди будь-який код, не турбуючись про те, що втікають особи чи інші типові неприємності кодового блогу.


1
Ваші вказівки працювали для мене краще, ніж інша провідна відповідь. Якщо хтось виявить, що їх шукають, ось список зв'язаних пензлів та їх псевдонімів.
Скотт

13

1. Спочатку створіть резервну копію шаблону свого блогера.
2. Після цього відкрийте шаблон свого блогера (у режимі редагування HTML) та скопіюйте всі файли css, що наведені у цьому посиланні, перед </b:skin>тегом
3. Вставте код followig перед </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. Ось список підтримуваної мови для <class>атрибута.


Приємне посилання. Було б краще, якби це кольоровий формат! +1
Gaʀʀʏ

@le_garry: спасибі, я зіткнувся з деякою проблемою під час форматування фрагмента коду, щоб він не був кольоровим.
Махеш Менія

Дивіться відповідь gisssol. Найкращий хайлайтер, який я бачив досі, і це колір.
Gaʀʀʏ

@le_garry О, ви берете про виділення синтаксису в Blogger. Це прекрасно працює з кольором. Я неправильно розумію, що ви ставитесь до моєї відповіді. Отже, мені було сумно, що я зіткнувся з якоюсь проблемою ..
Махеш Менія

@MaheshMeniya я дотримувався всіх кроків, які ви написали для синтаксису syntaxhighlighter, але він не працює, чи є додаткові думки, чого мені не вистачає?
AA.SC

9

http://formatmysourcecode.blogspot.co.uk/ працює чудово, ви просто скопіюйте, відформатуйте, вставте назад.


Я використовую це для свого блогу. Для людей, які люблять кольори, це не колірний код! Я люблю це просто і просто.
Аравінд

5

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


Yup - tohtml - це рішення, рекомендоване TechNet Wiki для вставки коду!
rbrayb

@Phil Hale У цьому інструменті немає відступів
user2771655

Це найкраще рішення, яке я знайшов досі. Дякую
Kinjal

5

Ось один веб-сайт, який буде форматувати ваш код і випльовувати HTML, і він навіть включає вбудовані стилі для синтаксичного забарвлення. Може не працювати на всі ваші потреби, але це хороший початок. Я вважаю, що він зробив доступне джерело, якщо ви хочете розширити його:


Більше не працює.
Ε Г І І І О

4

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

Безкоштовний онлайн-розрядник C # Code

Окрім розфарбовування коду C #, інструмент також піклується про всі символи '<' та '>', перетворюючи їх у '& lt;' та '& gt;'. Вкладки перетворюються на пробіли для того, щоб вони виглядали однаково в різних браузерах. Ви навіть можете зробити колоризатор вбудованим стилями CSS, якщо ви не можете чи не хочете вставити аркуш стилів CSS у свій блог чи веб-сайт.


3

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


Погоджено - є чимало варіантів, якщо я розміщую свій власний блог, але, здається, не існує великої підтримки, коли блог насправді розміщує Blogger.
rbrayb


2

Насправді я для цього використовував (що ще ;-)) Vim: у нього є 2html "плагін". Дивіться документи тут .

Оскільки я редагую свій код, я просто перетворюю його в HTML і вставляю результати в редактор HTML Blogger.

Примітка: це не такий гарний HTML (вбудований css був би кращим), але він просто працює.

Ох: у нього є синтаксичні файли для декількох мов, що робить його досить корисним.


1

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

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

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

Ось посилання на мій блог , де ви можете знайти детальну інформацію про те, як використовувати "blog-htmlize.el" з emacs. Це також усуває html-кодування знаків "менше ніж" та "більше, ніж". Оскільки emacs займається всіма підсвічуванням та стилізацією, вам не доведеться турбуватися про те, чи бібліотека js підтримує мову ваших фрагментів, а також не потрібно втручатися у ваш шаблон коду у блогері.

Ви можете знайти файл elisp тут (збережіть файл як blog-htmlize.el )


0

Я розгорнув свою власну у F # (див. Це питання), але вона все ще не ідеальна (я просто роблю регулярні вирази, тому я не розпізнаю назви класів чи методів тощо).

В основному, з того, що я можу сказати, редактор блогерів іноді їсть ваші кутові дужки, якщо ви переходите між режимом Compose та HTML. Тому вам потрібно вставити в режим HTML, а потім зберегти безпосередньо. (Я можу помилятися з цим, просто спробував зараз, і, здається, працює - залежно від браузера?)

Це жахливо, коли ти маєш дженерики!


0

Щоб розмістити свої HTML, javascript, c # та java, вам слід перетворити спеціальні символи в HTML-код. а '<'також &lt;і '>'до &gt;і т.д.

Додайте це посилання Конвертер кодів в iGoogle. Це допоможе вам перетворити спеціальні символи.

Потім додайте SyntaxHighlighter 3.0.83 нову версію, щоб налаштувати свій код у Blogger. Але ви повинні знати, як налаштувати syntaxHighlighter у своєму блогерському шаблоні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.