การจัดรูปแบบโค้ดสำหรับการเขียนบล็อกใน Blogger [ปิด]


283

บล็อกของฉันโฮสต์ในบล็อกเกอร์และฉันมักจะโพสต์ตัวอย่างโค้ดในC/ C#/ Java/ XMLฯลฯ แต่ฉันพบว่าข้อมูลโค้ดได้รับ "mangled"

มีเว็บไซต์ใดบ้างที่ฉันสามารถใช้ในการแยกวิเคราะห์โค้ดล่วงหน้าและเรียงลำดับการจัดรูปแบบแปลง XML " <" เป็น " &lt;" ฯลฯ

มีคำถามจำนวนหนึ่งอยู่รอบ ๆ บริเวณนี้ดังนั้น แต่ฉันไม่พบที่อยู่ที่คำถามนี้โดยตรง

Edit:สำหรับ@Richคำตอบรัฐเว็บไซต์"เพื่อแสดงรหัสการจัดรูปแบบในเว็บไซต์ของคุณคุณต้องได้รับสไตล์ชีต CSS นี้และเพิ่มการอ้างอิงถึงใน<head>ส่วนของหน้าเว็บของคุณ" นั่นเป็นปัญหา - คุณไม่สามารถทำได้ใน Blogger AFAIK


3
หากต้องการแสดงโค้ดที่จัดรูปแบบ: หากคุณใช้ visual studio คุณสามารถคัดลอกรหัส html / css / javascript / c # etc ไปยัง blogger ได้ทุกประเภท คุณต้องติดตั้งเครื่องมือไฟฟ้าสำหรับการผลิต visual Studio: สำหรับข้อมูลเพิ่มเติมอ่าน: coding-issues.blogspot.in/2013/10/30
Ranadheer Reddy

ลองวางปลั๊กอินเป็น Visual Studio Codeสำหรับ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 คุณสามารถให้ทางเลือกอื่นได้หรือไม่? ดูบล็อกของฉันพร้อมมุมมองแบบไดนามิกsatindersinght.blogspot.in
Satinder singh

1
ดูเหมือนว่ารหัสที่คุณควรจะคัดลอกและวางหายไปบางอย่างที่ด้านบนโดยเฉพาะแท็ก <script>
John Little

1
คำตอบของซามูเอลดีกว่ามาก ฉันไม่ชอบการเพิ่มจาวาสคริปต์ในบล็อกของฉันเพื่อเน้นไวยากรณ์เพียงอย่างเดียว โดยเฉพาะอย่างยิ่งเพจที่ไม่มีไวยากรณ์ใด ๆ ที่จะให้ความสว่างสูงนั้นเป็น overkill
divinedragon

126

วิธีที่ง่ายที่สุดในการแบ่งปันรหัสคือการสรุปสาระสำคัญสาธารณะ เพียงเขียนขึ้นและวางในรหัสฝัง peasy ง่าย ๆ

http://gist.github.com

เพื่อแก้ไขปัญหาของเครื่องมือค้นหาเราสามารถใช้การซ่อนdivบนหน้าเว็บอย่างง่าย ๆ ดังนี้:

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

เพื่อนหลังจากใช้ไป 20 นาทีฉันก็ไม่สามารถขอบคุณได้มากพอ! การจัดรูปแบบที่ดีที่สุดไม่ยุ่งเหยิงรหัสทั้งหมดอยู่ในที่เดียวโพสต์ดูสวยงามการแก้ไขโพสต์นั้นง่ายมากอย่างที่คุณไม่ได้ผสมโค้ดกับส่วนที่เหลือของโพสต์และไม่ต้องกังวลว่าคุณจะทำ สิ่งที่โง่และสูญเสีย / misformat รหัสใด ๆ ขอบคุณมาก!
Elijah Saounkine

19
การฝังคือ javascript มีโอกาสดีที่จะมองไม่เห็น นั่นเป็นการฆ่าบล็อกโพสต์ได้เป็นอย่างดี
James Moore

6
ตอนนี้ฉันใช้ gists แต่ฉันอาจจะใช้ SyntaxHighlighter อีกครั้ง ไม่เพียงแค่ส่วนสำคัญใช้ JavaScript (ซึ่งทำให้ไม่สามารถเข้าถึงได้ในโปรแกรมอ่าน RSS เช่นกัน) แต่ยังทำให้การโหลดหน้าเว็บช้าลงเพราะทุกส่วนสำคัญจะถูกดาวน์โหลดตามลำดับการบล็อกการเรนเดอร์ ไม่ใช่ทางเลือกที่ดี
Tomasz Nurkiewicz

ขอบคุณ! คุณทำวันของฉัน ฉันจะแบ่งปันสคริปต์นี้เพื่อเพิ่มส่วนสำคัญใน blogger: github.com/moski/gist-Blogger
daniel.sedlacek

1
ความคิดนี้ใช้งานได้ดีจริงๆ! ผลก็คือต้องการฉันต้องการ; ฟอร์แมตโค้ดอย่างดี ... แต่ฉันจะไม่ไปกับมัน ฉันอยากให้โพสต์ของฉันเสร็จสมบูรณ์ทั้งในและนอกตัวเอง มีรหัสซึ่งเป็นส่วนหนึ่งของโพสต์เป็นเจ้าภาพที่อื่นและรวมถึง js เพียงแค่เอาชนะมัน!
dade

63

สำหรับบล็อกของฉันฉันใช้http://hilite.me/เพื่อจัดรูปแบบซอร์สโค้ด มันรองรับฟอร์แมทและเอาท์พุทค่อนข้างมาก แต่ถ้าคุณมีข้อมูลโค้ดจำนวนมากคุณต้องคัดลอกจำนวนมาก สำหรับการจัดรูปแบบโค้ดไพ ธ อนฉันก็ใช้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 ในเครื่องมือแก้ไขบทความ (หรืออื่น ๆ ) ของ Blogger

ประโยชน์ที่ได้รับ:ง่ายและใช้งานง่าย, การกำหนดค่าน้อยลง, ง่ายต่อการกำหนดค่าใหม่, ไม่มีซอฟต์แวร์เพิ่มเติม


1
คำตอบที่ง่ายและเรียบร้อยที่สุดในความคิดของฉัน เพียงสร้าง CSS ภายในและคุณก็พร้อมแล้ว
Rishik Mani

ทำงานได้ดีสำหรับฉันเช่นกัน วิธีง่ายๆ
Hasitha

15

สิ่งนี้สามารถทำได้ค่อนข้างง่ายด้วย SyntaxHighlighter ฉันมีคำแนะนำทีละขั้นตอนในการตั้งค่า SyntaxHighlighter in 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. บันทึกเทมเพลตบล็อกเกอร์
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: ขอบคุณฉันประสบปัญหาบางอย่างในขณะที่การจัดรูปแบบข้อมูลโค้ดดังนั้นมันจึงไม่ใช่สี
Mahesh Meniya

ดูคำตอบโดย gissolved ปากกาเน้นข้อความที่ดีที่สุดที่ฉันเคยเห็นและมันก็เป็นสี
Gaʀʀʏ

@le_garry โอ้คุณกำลังเน้นเรื่องการเน้นไวยากรณ์ใน Blogger มันทำงานได้ดีกับสี ฉันเข้าใจผิดว่าคุณกำลังทำตามคำตอบของฉันดังนั้นฉันเสียใจที่ฉันต้องเผชิญกับปัญหาบางอย่าง ..
Mahesh Meniya

@MaheshMeniya ฉันทำตามทุกขั้นตอนที่คุณเขียนสำหรับไวยากรณ์ syntaxhighlighter แต่มันใช้งานไม่ได้จะมีอะไรเพิ่มหรือเปล่าที่คิดว่าฉันขาดหายไป?
AA.SC

9

http://formatmysourcecode.blogspot.co.uk/ ทำงานได้ดีคุณคัดลอกจัดรูปแบบวางกลับ


ฉันใช้สิ่งนี้สำหรับบล็อกของฉัน สำหรับคนที่ชอบสีรหัสสีนี้ไม่ได้ว่า! ฉันรักมันเรียบง่ายและเรียบง่าย
Aravind

5

ฉันใช้โซลูชันเทคโนโลยีที่ค่อนข้างต่ำ ฉันจัดรูปแบบรหัสโดยใช้เครื่องมือเน้นไวยากรณ์ออนไลน์นี้จากนั้นเพียงวางลงในบล็อก


Yup - tohtml เป็นวิธีการแก้ปัญหาตามที่ TechNet Wiki แนะนำให้วางโค้ด!
rbrayb

@Phil Hale ไม่มีการเยื้องในเครื่องมือนั้น
user2771655

นี่เป็นทางออกที่ดีที่สุดที่ฉันพบจนถึงตอนนี้ ขอบคุณ
Kinjal

5

นี่คือไซต์หนึ่งที่จะจัดรูปแบบโค้ดของคุณและแยก html ออกและยังมีรูปแบบอินไลน์สำหรับการกำหนดสี อาจไม่เหมาะกับความต้องการของคุณทั้งหมดแต่เป็นการเริ่มต้นที่ดี ฉันเชื่อว่าเขาทำให้แหล่งข้อมูลพร้อมใช้งานหากคุณต้องการขยาย:


ไม่ทำงานอีกต่อไป
ΕГИІИО

4

ฉันได้สร้างเครื่องมือที่ทำให้งานเสร็จ คุณสามารถค้นหาได้ในบล็อกของฉัน:

Colorizer รหัส C # ออนไลน์ฟรี

นอกจากการทำให้รหัส C # ของคุณมีสีสดใสแล้วเครื่องมือยังดูแลสัญลักษณ์ '<' และ '>' ทั้งหมดที่แปลงให้เป็น '& lt;' และ '& gt;' แท็บจะถูกแปลงเป็นช่องว่างเพื่อให้ดูเหมือนกันในเบราว์เซอร์ต่างๆ คุณสามารถทำให้ colorizer อินไลน์สไตล์ CSS ในกรณีที่คุณไม่สามารถหรือคุณไม่ต้องการที่จะแทรกสไตล์ชีต CSS ในบล็อกหรือเว็บไซต์ของคุณ


3

ฉันใช้SyntaxHighlighterกับบล็อกที่ขับเคลื่อนโดย Blogger ของฉัน ไซต์จริงโฮสต์อยู่บนเซิร์ฟเวอร์ของฉันแทนที่จะเป็น Blogger (Blogger มีตัวเลือกในการ ftping โพสต์ไปยังเว็บไซต์ของคุณ) แต่การมีโดเมนและเว็บโฮสติ้งของคุณเองมีค่าใช้จ่ายเพียงไม่กี่ดอลลาร์ต่อเดือน


เห็นด้วย - มีตัวเลือกมากมายถ้าฉันโฮสต์บล็อกของตัวเอง แต่ดูเหมือนจะไม่ได้รับการสนับสนุนมากนักเมื่อ Blogger โฮสต์โดยจริง
rbrayb


2

จริง ๆ แล้วฉันเคยใช้ (อะไรอีก ;-)) เป็นกลุ่มสำหรับสิ่งนี้: มันมี "ปลั๊กอิน" 2html ดูเอกสารที่นี่

ดังนั้นเมื่อฉันแก้ไขรหัสของฉันฉันเพิ่งแปลงเป็น HTML และวางผลลัพธ์ไปยังตัวแก้ไข HTML ของ Blogger

หมายเหตุ: มันไม่ได้สวยงาม HTML (ฝัง CSS จะดีกว่า) แต่ใช้งานได้

โอ้: และมันมีไฟล์ไวยากรณ์สำหรับหลายภาษาซึ่งทำให้มันมีประโยชน์มาก


1

Emacs คำตอบเฉพาะ:เท่าที่เกี่ยวข้องกับบล็อกเกอร์ก็อนุญาตแบบอินไลน์ css ปัญหาเกี่ยวกับปากกาเน้นข้อความที่ใช้ javascript คือคุณต้องใช้ชีวิตกับชุดสีหรือใช้ตัวคุณเอง แต่อย่างฉันถ้าคุณเป็นแฟนตัวยงของสี emacs ของคุณเองคุณมีตัวเลือกที่ดีกว่ามาก ฉันแฮ็กแพคเกจ "htmlize.el" สำหรับ emacs เพื่อเพิ่มสี่ฟังก์ชั่นต่อไปนี้ ...

  1. บล็อก htmlize บัฟเฟอร์
  2. บล็อก htmlize ภูมิภาค
  3. บล็อก htmlize บัฟเฟอร์ที่มี linum
  4. บล็อก htmlize ภูมิภาคที่มี linum

ฟังก์ชั่นเหล่านี้จะส่งออก html พร้อมคัดลอกวาง (สไตล์อินไลน์) ในบัฟเฟอร์ใหม่ใน emacs ซึ่งคุณสามารถใช้โดยตรงในโพสต์บล็อกของคุณ ผลลัพธ์จะเหมือนกับที่คุณเห็นรหัสใน emacs (รวมถึงโครงร่างสี)

นี่คือลิงค์ไปยังบล็อกของฉันซึ่งคุณสามารถค้นหาข้อมูลโดยละเอียดเกี่ยวกับวิธีใช้ "blog-htmlize.el" กับ emacs สิ่งนี้จะหายไปเมื่อมีการเข้ารหัส html ด้วยเครื่องหมาย "น้อยกว่า" และ "มากกว่า" และในขณะที่ emacs กำลังทำการไฮไลต์และใส่สไตล์ทั้งหมดคุณไม่ต้องกังวลว่าไลบรารี่ js จะสนับสนุนภาษาของตัวอย่างหรือไม่และคุณต้องยุ่งกับเทมเพลตโค้ดในบล็อกเกอร์

คุณสามารถค้นหาไฟล์ elisp ได้ที่นี่ (บันทึกไฟล์เป็นblog-htmlize.el )


0

ฉันรีดตัวเองใน F # (ดูคำถามนี้ ) แต่ก็ยังไม่สมบูรณ์แบบ (ฉันเพิ่งทำ regexps ดังนั้นฉันจึงไม่รู้จักคลาสหรือชื่อเมธอด ฯลฯ )

โดยพื้นฐานจากสิ่งที่ฉันบอกได้เครื่องมือแก้ไขบล็อกเกอร์บางครั้งจะกินมุมวงเล็บหากคุณสลับระหว่างโหมดเขียนข้อความและ HTML ดังนั้นคุณต้องวางในโหมด HTML จากนั้นบันทึกโดยตรง (ฉันอาจจะผิดในเรื่องนี้ลองตอนนี้และดูเหมือนว่าจะทำงาน - ขึ้นอยู่กับเบราว์เซอร์?)

มันน่ากลัวเมื่อคุณมียาชื่อสามัญ!


0

ในการโพสต์ html, javascript, c # และ java ของคุณคุณควรแปลงอักขระพิเศษเป็นรหัส HTML ในฐานะ'<'ที่เป็น&lt;และ'>'ไป &gt;และอื่น ๆ

เพิ่มลิ้งค์นี้Code Converterลงใน iGoogle นี่จะช่วยให้คุณแปลงอักขระพิเศษได้

จากนั้นเพิ่มSyntaxHighlighter 3.0.83เวอร์ชันใหม่เพื่อปรับแต่งโค้ดของคุณในบล็อกเกอร์ แต่คุณควรรู้วิธีกำหนดค่า SyntaxHighlighter ในเทมเพลตบล็อกเกอร์ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.