Life

Post My Source Code

จากความเจ็บปวดรวดร้าวของการ Blog โดยที่ต้องแป๊ะ Source Code โดยการ Capture Image แล้ว Upload เป็นรูปแทนนั้น ความรู้สึกผมคือมันช่างน่าเจ็บปวด เคยเห็นหลาย ๆ Blog เขาทำมาแล้ว จึงไปหาประมาณว่า Plugin สำหรับ WordPress เพื่อให้สามารถเขียนมันออกมาเป็น Source Code ได้ แต่พอเจอเท่านั้นแหละ เขาก็ให้ Download แล้ว Install Plugin เข้าไป … งงสิครับ ไม่เคย Install Plugin บน WordPress แถมหา Admin Menu ที่เขาว่าเท่าไหร่ก็ไม่เจอ ประจวบกับเวลามันก็ล่วงเลย ง่วงก็ง่วง เลยเข้าไปโอดโอยใน Facebook ว่า “อยากได้ Plug-In เขียน Code บน WordPress.com อะ มีใครแนะนำวิธี Add Plug-In ให้หน่อยได้ไหม … เขียนไป Capture รูปที่เป็น Source Code ไปเนี่ย มันเหนื่อยโคตร …” แล้วก็ไปนอนตีพุงหลับไป

11


เช้ามา ก็มี Notified มาว่า Natty ก็มา Comment บอกว่า “เอ่อ พี่คะ มันมีให้ใช้อยู่แล้วนะ…..” พร้อมทั้ง Link พระเจ้าที่สามาถแก้ปัญหา ของผมได้อย่างชะงัด พอเห็นเท่านั้นแหละ ผมก้เลยลองจัด ตัวอย่าง Code Java ที่ผมพอจะคิดออกได้ ณ ตอนนั้น แล้วลอง Post ดู

จาก …

[sourcecode language="java" wraplines="false" collapse="false"]
class Bomb {
     public String getValue(int number) {
          return number + "";
     }
}
[sourcecode]

กลายเป็น …

class Bomb {
     public String getValue(int number) {
          return number + "";
     }
}

โอ่ … ใช้ได้นี่หว่า มันมีอยู่แล้วก็ไม่บอก อุตสาห์ไปหลงทางหา Plugin กับวิธี Install อยู่ตั้งนาน แถมยังมึกกับ Admin Menu ของ WordPress ด้วย ผู้รู้นี่ช่างรู้จริง ๆ 555+ ว่าแล้วก็เลยลองหาข้อมูล ไปเจอใส่ http://en.support.wordpress.com/code/posting-source-code/ ซึ่ง เขาบอกว่าเนื่องจาก WordPress เองไม่ยอมให้เราใส่ Source Code เข้าไปใน Blog โดยตรง โดยมีเพียงทางเดียวที่ทำได้ในการโชว์ Source Code ทาง WordPress จึงสร้าง Shortcode ขึ้นมาเพื่อเอาไว้ครอบ Source Code ที่ต้องการ โชว์โดยที่สามารถแสดง Format ของภาษานั้น และ highlight ได้ด้วย โดยเขียนอยู่ในรูปแบบของ

[code language="css"]
your code here
[/code]

แถมภาษาที่ Support การทำสีสันยังไม่ใช่น้อย มีดังนี้

  • actionscript3
  • bash
  • clojure
  • coldfusion
  • cpp
  • csharp
  • css
  • delphi
  • erlang
  • fsharp
  • diff
  • groovy
  • html
  • javascript
  • java
  • javafx
  • matlab (keywords only)
  • objc
  • perl
  • php
  • text
  • powershell
  • python
  • r
  • ruby
  • scala
  • sql
  • vb
  • xml

แถมยังมี Parameter ให้ใส่อีกเพียบ ทั้งการใส่ Highlight ทั้งอะไรอื่นๆ อีกเยอะ อย่างเช่น ผมต้องการ Hightlight บรรทัดที่ 8-15 ก็ทำได้ด้วย

*** Settings ***
Resource send_mail_library.txt
Suite Setup Clean Up Mail Box
Test Setup Open Sendmail Browser
Test Teardown Close Browser

*** Test Cases ***
Send Mail To Recipient
 [Template] Successfully Send Email To Recipient Workflow
 #-------------------------------|----------------------|-------------------------------------|-------------------------|
 # recipients | topic | body | received mail count |
 #-------------------------------|----------------------|-------------------------------------|-------------------------|
 a@gmail.com, b@gmail.com New Gadget Coming New Gadget arrive, Order Now ! 2
 a@gmail.com New Gadget Coming ${EMPTY} 1
 a@gmail.com New Gadget Coming <html><body>Gadget</body></html> 1

Send Mail To Recipient Without Topic
 I Compose Email Without Topic
 I Confirm To Send It When The Popup Displays
 Recipient Should Receive New Mail ${EMPTY} 1

Send Mail To Recipient With Thai Content
 Send Email To Recipient a@gmail.com Mail Topic สวัสดี
 Recipient Should Receive New Mail With Body Mail Topic สวัสดี

*** Keywords ***
Clean Up Mail Box
 Open Mail Box
 Read All Mail

I Compose Email Without Topic
 Send Email To Recipient a@gmail.com ${EMPTY} New Gadget arrive, Order Now !

I Compose Email With Body
 [Arguments] ${body}
 Send Email To Recipient a@gmail.com Mail Topic ${body}

I Confirm To Send It When The Popup Displays
 Click Button okBtn

ว่าแล้วแบบนี้ก็หล่อส์เลยเดี๋ยวจะหา Source Code มาคุยกันอีกก็แล้วกันนะครับ

credit :

Advertisements

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s