はてな記法(シンタックスハイライト)のテスト
目的
色々とコード片を貼り付ける予定なので、どんなふうに表示されるか、試してみる。
結論
通常使っている言語や処理系については、十分対応されているようだ(GraphVizに対応していたのには感激)。
仕様の穴を付くような記述を処理できるかどうかは、そのつど見ていくことにする。
詳細
Makefile
files = 1 2 3 4 a b c d define PROGRAM_set_CFLAGS CFLAGS_$(1) += -DNO_DEBUG_MSG endef #$(foreach f,$(file),$(eval $(call PROGRAM_set_CFLAGS,$f))) $(foreach f,$(files),$(eval CFLAGS_$f += -DNO_DEBUG_MSG)) all: echo $(CFLAGS_1) echo $(CFLAGS_a) V1 = test/clean/foo/clean V2 = test2/clean/clean test1: @echo $(V1:/clean=) @echo $(V2:/clean=) not-found: $(MAKE) -C no-dir unknown: $(MAKE) unknown2 unknown2: @echo 1 # ( cd not-found && $(MAKE)) #$(MAKE) -C exist $(MAKE) -C not-exist echo: echo.c a echo $*
C
#include <stdio.h> int main(void) { printf("before comment.\n"); #if 0 /* #endif printf("inside comment.\n"); #if 0 */ #endif printf("after comment.\n"); return 0; }
Ruby
#!/usr/bin/env ruby ORDER = 2 def calc_next_number(num) next_num = 0 num.to_s.scan(/./).each{ |e| next_num += e.to_i ** ORDER } next_num end num = 2 num_list = [] 20.times do puts num if num_list.include? num puts "***circulate!!***" break end num_list.push num num = calc_next_number(num) end
Assembler
; tiny.asm BITS 32 org 0x00001000 db 0x7F, "ELF" ; e_ident dd 1 ; p_type dd 0 ; p_offset dd $$ ; p_vaddr dw 2 ; e_type ; p_paddr dw 3 ; e_machine dd filesize ; e_version ; p_filesz dd _start ; e_entry ; p_memsz dd 4 ; e_phoff ; p_flags _start: mov bl, 42 ; e_shoff ; p_align xor eax, eax inc eax ; e_flags int 0x80 db 0 dw 0x34 ; e_ehsize dw 0x20 ; e_phentsize db 1 ; e_phnum ; e_shentsize ; e_shnum ; e_shstrndx filesize equ $ - $$
Graphviz
digraph sample { alpha -> beta; alpha -> gamma; beta -> delta; }
Bourne-shell
#!/bin/sh set -x function a1() { a=$1 echo $a } a=2 a1 abcdefg