ソースコードを色付けして表示する(シンタックスハイライト)

はてな記法では、スーパーpre記法でプログラムのソースコードなどを表示する際に、シンタックスハイライト(Syntax highlighting、言語ごとの構文に応じた色付け表示)が利用できます。

はてな記法とシンタックスハイライト

シンタックスハイライトを利用するには、そのコードがどの構文で記述されているかを示すファイルタイプを、スーパーpre記法で先頭の>||の2本のパイプ(||)の間に指定します。

構文によって指定するファイルタイプは決まっています。下記の一覧を参照してください。

シンタックスハイライトの使用例

Ruby言語で記述されたソースコードを貼り付けるには、次のようにrubyを記述します。

>|ruby|
class Foo
  def bar'baz' # return baz
  end
end
||<

これは次のようにハイライトされます。

class Foo
  def bar'baz' # return baz
  end
end
>||||<は、必ず行頭になるよう記述してください。

Markdownとシンタックスハイライト

Markdownモードでは、コードブロックのシンタックスハイライトに対応しており、```perlのように言語を指定できます。詳細は下記リンクなどを参照してください。

付記・はてなブログが対応しているファイルタイプ

はてなブログのシンタックスハイライトでは、次のファイルタイプの構文に対応しています。

記号

2html

A

a2ps a65 aap abap abaqus abc abel acedb actionscript ada aflex ahdl alsaconf amiga aml ampl ant antlr apache apachestyle applescript arch art asm asm68k asmh8300 asn aspperl aspvbs asterisk asteriskvm atlas autohotkey autoit automake ave awk ayacc

B

b baan basic bc bdf bib bindzone blank brainfuck bst btm bzr

C

c cabal calendar catalog cdl cdrdaoconf cdrtoc cf cfg ch chaiscript change changelog chaskell cheetah chill chordpro cl clean clipper clojure cmake cmusrc cobol coco coffee colortest conaryrecipe conf config context cpp crm crontab crystal cs csc csh csp css cterm ctrlh cucumber cuda cupl cuplsim cvs cvsrc cweb cynlib cynpp

D

d dart dcd dcl debchangelog debcontrol debsources def denyhosts desc desktop dictconf dictdconf diff dircolors diva django dns docbk docbksgml docbkxml dosbatch dosini dot doxygen dracula dsl dtd dtml dtrace dylan dylanintr dylanlid

E

ecd edif eiffel elf elinks elixir elmfilt erlang eruby esmtprc esqlc esterel eterm eviews exim expect exports

F

fasm fdcc fetchmail fgl flexwiki focexec form forth fortran foxpro framescript freebasic fsharp fstab fvwm fvwm2m4

G

gdb gdmo gedcom git gitcommit gitconfig gitrebase gitsendemail gkrellmrc gnuplot go gp gpg grads gretl groff groovy group grub gsp gtkrc

H

haml hamster haskell haste hastepreproc hatena haxe hb hcl help hercules hex hitest hog hostconf hss html htmlcheetah htmldjango htmlm4 htmlos hxml

I

ia64 ibasic icemenu icon idl idlang indent inform initex initng inittab io ipfilter ishd iss ist

J

jal jam jargon java javacc javascript jess jgraph jproperties json jsp julia

K

kconfig kix kotlin kscript kwt

L

lace latte ld ldapconf ldif lex lftp lhaskell libao lifelines lilo limits lisp lite litestep loginaccess logindefs logtalk lotos lout lpc lprolog lscript lsl lss lua lynx

M

m4 mail mailaliases mailcap make man manconf manual maple markdown masm mason master matlab maxima mel messages mf mgl mgp mib mma mmix mmp modconf model modsim3 modula2 modula3 monk moo mp mplayerconf mrxvtrc msidl msmessages msql mupad mush muttrc mysql

N

named nanorc nasm nastran natural ncf netrc netrw nginx nim nosyntax nqc nroff nsis

O

obj objc objcpp ocaml occam omnimark openroad opl ora

P

pamconf papp pascal passwd pcap pccts pdf perl perl6 pf pfmain php phtml pic pike pilrc pine pinfo plaintex plm plp plsql po pod postscr pov povini ppd ppwiz prescribe privoxy processing procmail progress prolog promela proto protocols ps1 ps1xml psf ptcap purifylog pyrex python

Q

qf quake

R

r racc radiance ratpoison rc rcs rcslog readline rebol registry remind resolv reva rexx rhelp rib rnc rnoweb robots rpcgen rpl rst rtf ruby rust

S

samba sas sass sather scala scheme scilab screen sd sdc 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 svg svn swift syncolor synload syntax sysctl

T

tads tags tak takcmp takout tar taskdata taskedit tasm tcl tcsh terminfo terraform tex texinfo texmf tf tidy tilde tli tpp trasys trustees tsalt tsscl tssgm tssop typescript

U

uc udevconf udevperm udevrules uil updatedb

V

valgrind vb vera verilog verilogams vgrindefs vhdl vim viminfo virata vmasm voscm vrml vsejcl

W

wdiff web webmacro wget whitespace winbatch wml wsh wsml wvdial

X

xbl xdefaults xf86conf xhtml xinetd xkb xmath xml xmodmap xpm xpm2 xquery xs xsd xslt xxd

Y

yacc yaml

Z

z8a zig zir zsh

関連項目

関連記事と変更履歴