人生やまあり

大学卒業後IT会社に就職してITをやってます。

はてなブログで様々なプログラミングソースコードをのせる方法


<スポンサードリンク>

自分への備忘録の意味も込めて、はてなブログソースコードを載せる方法をまとめておきます。

まず編集モードをはてな記載モードに設定します。
f:id:lance104:20140221012030j:plain

この設定を行うとはてな記載モードを利用することができます。
はてな記法一覧 - はてなダイアリーのヘルプ


これで準備完了です。あとはフォーマットに従って記載するだけです。
例えば下記のように書くと

>||
#!/bin/sh
echo "hogehoge"
||<

こうなります。

<html>
<head>
    <title>ほげ</title>
</head>
<body>
<h1>hoge</h1>
</body>
</html>


言語の種類を下記のように書けば

>|html|
#!/bin/sh
echo "hogehoge"
||<
色が付いて下記のように。

<html>
<head>
    <title>ほげ</title>
</head>
<body>
<h1>hoge</h1>
</body>
</html>

Rubyであれば

>|ruby|
#!/usr/bin/ruby

require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new
||<
こう書けば

#!/usr/bin/ruby

require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new


ちなみに|?| のように、2本のパイプの間を ? にすると、自動で判別されハイライトされるらしいです。
※ただしほとんどの場合、一行目が shebang (#!)でないと判別に成功しないらしい。。。

ソースコードを色付けして記述する(シンタックス・ハイライト) - はてなダイアリーのヘルプ
※ >|?| のように、2本のパイプの間に ? を入力すると、自動で判別されハイライトされます。ただしほとんどの場合、一行目が shebang (#!)でないと判別に成功しません。

ということでやってみました。

>|?|
#!/bin/sh
echo "hogehoge"
||<
と書くと

<html>
<head>
    <title>ほげ</title>
</head>
<body>
<h1>hoge</h1>
</body>
</html>


>|?|
#!/usr/bin/ruby

require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new
||<
と書くと

#!/usr/bin/ruby

require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new


>|?|
require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new
||<
と書くと

require "rubygems"
require "aws-sdk"

ec2 = AWS::EC2.new

こうなります。

#!/bin/sh
echo "hoge"
for i in "a b c"
do
  echo $i
done

全然だめですね。。。。。なにがだめなのか><
またわかったら別途記事かきます。

ちなみに |言語| でサポートしている言語は、ほぼ全部といって過言ではないでしょう笑
現在対応しているファイルタイプは以下の通りらしいです。

a2ps a65 aap abap abaqus abc abel acedb actionscript ada aflex ahdl alsaconf amiga aml ampl ant antlr apache apachestyle arch art asm asm68k asmh8300 asn aspperl aspvbs asterisk asteriskvm atlas automake ave awk ayacc b baan basic bc bdf bib bindzone blank bst btm c calendar catalog cdl cf cfg ch change changelog chaskell cheetah chill chordpro cl clean clipper cmake cobol colortest conf config context cpp crm crontab cs csc csh csp css cterm ctrlh cupl cuplsim cvs cvsrc cweb cynlib cynpp d dcd dcl debchangelog debcontrol debsources def desc desktop dictconf dictdconf diff dircolors diva django dns docbk docbksgml docbkxml dosbatch dosini dot doxygen dracula dsl dtd dtml dylan dylanintr dylanlid ecd edif eiffel elf elinks elmfilt erlang eruby esmtprc esqlc esterel eterm eviews exim expect exports fasm fdcc fetchmail fgl flexwiki focexec form forth fortran foxpro fstab fvwm fvwm2m4 gdb gdmo gedcom gkrellmrc gnuplot go gp gpg grads gretl groff groovy group grub gsp gtkrc haskell hb help hercules hex hitest hog html htmlcheetah htmldjango htmlm4 htmlos ia64 icemenu icon idl idlang indent inform initex inittab ipfilter ishd iss ist jal jam jargon java javacc javascript jess jgraph jproperties jsp kconfig kix kscript kwt lace latte ld ldif lex lftp lhaskell libao lifelines lilo limits lisp lite loginaccess logindefs logtalk lotos lout lpc lprolog lscript lss lua lynx m4 mail mailaliases mailcap make man manconf manual maple masm mason master matlab maxima mel mf mgl mgp mib mma mmix modconf model modsim3 modula2 modula3 monk moo mp mplayerconf mrxvtrc msidl msql mupad mush muttrc mysql named nanorc nasm nastran natural ncf netrc netrw nosyntax nqc nroff nsis objc objcpp ocaml occam omnimark openroad opl ora pamconf papp pascal passwd pcap pccts perl pf pfmain php phtml pic pike pilrc pine pinfo plaintex plm plp plsql po pod postscr pov povini ppd ppwiz prescribe procmail progress prolog protocols psf ptcap purifylog pyrex python qf quake r racc radiance ratpoison rc rcs rcslog readline rebol registry remind resolv rexx rhelp rib rnc rnoweb robots rpcgen rpl rst rtf ruby samba sather scala scheme scilab screen sdl sed sendpr sensors services setserial sgml sgmldecl sgmllnx sh sicad sieve simula sinda sindacmp sindaout sisu skill sl slang slice slpconf slpreg slpspi slrnrc slrnsc sm smarty smcl smil smith sml snnsnet snnspat snnsres snobol4 spec specman spice splint spup spyce sql sqlanywhere sqlforms sqlinformix sqlj sqloracle sqr squid sshconfig sshdconfig st stata stp strace sudoers svn syncolor synload syntax sysctl tads tags tak takcmp takout tar tasm tcl tcsh terminfo tex texinfo texmf tf tidy tilde tli tpp trasys trustees tsalt tsscl tssgm tssop uc udevconf udevperm udevrules uil updatedb valgrind vb vera verilog verilogams vgrindefs vhdl vim viminfo virata vmasm vrml vsejcl wdiff web webmacro wget whitespace winbatch wml wsh wsml wvdial xdefaults xf86conf xhtml xinetd xkb xmath xml xmodmap xpm xpm2 xquery xs xsd xslt xxd yacc yaml z8a zsh