<<code>> マクロ
You are viewing an old version of this article. View
the current version here.
構文
<<code [lang=name] [inline={true|false}] [indent=L] [wrap={true|false}]>> ここにコードを記述します <</code>>
name
をコードの言語名に置き換えてください。 有効な言語名については、後述の シンタックスハイライト可能な言語一覧 を参照してください。indent
について、L を字下げレベル (1〜4) に置き換えてください。 (リスト の余白の大きさと対応しています)wrap
を指定すると、行を折り返すかどうか制御できます。既定では、コードブロックをスクロールするようになっています。
概要
<<code>>
マクロを利用すると、記事中にソースコードを記載できます。
簡単な例:
<<code>> from reversion.models import Revision from .helpers import ProcessedContent class Node(models.Model): language = models.CharField(max_length=10, default='en-us') <</code>>
……以上は次のように表示されます:
from reversion.models import Revision from .helpers import ProcessedContent class Node(models.Model): language = models.CharField(max_length=10, default='en-us')
折り返しとスクロールの違い
<<code wrap=false>> if self.is_image: return reverse('nodes:image', kwargs={'slug': self.node.slug, 'image_slug': self.slug, 'language': self.node.language}) else: return reverse('nodes:attachment', kwargs={'slug': self.node.slug, 'attachment_slug': self.slug, 'language': self.node.language}) <</code>>
……以上は次のように表示されます:
if self.is_image: return reverse('nodes:image', kwargs={'slug': self.node.slug, 'image_slug': self.slug, 'language': self.node.language}) else: return reverse('nodes:attachment', kwargs={'slug': self.node.slug, 'attachment_slug': self.slug, 'language': self.node.language})
<<code wrap=true>> if self.is_image: return reverse('nodes:image', kwargs={'slug': self.node.slug, 'image_slug': self.slug, 'language': self.node.language}) else: return reverse('nodes:attachment', kwargs={'slug': self.node.slug, 'attachment_slug': self.slug, 'language': self.node.language}) <</code>>
……以上は次のように表示されます:
if self.is_image: return reverse('nodes:image', kwargs={'slug': self.node.slug, 'image_slug': self.slug, 'language': self.node.language}) else: return reverse('nodes:attachment', kwargs={'slug': self.node.slug, 'attachment_slug': self.slug, 'language': self.node.language})
<<code>> とリンク
<<code>>
マクロとリンクは相性が悪いので、行中のコードにリンクを張りたい場合は ##...##
を使用してください。
例えば、[[insert|<<code>>INSERT<</code>>]]
や <<code>>[[insert|INSERT]]<</code>>
の代わりに、次のように記述します。
##[[insert|INSERT]]##
<<code>> とリスト
コードブロックをリスト項目の中に入れたい場合、特にコードブロックの後で番号付けを再開したい場合は、リスト項目内のテキストと同じ行に、コードブロックの最初の行を記述しなければなりません。(おそらく inline=false
を指定する必要がありますが、構文解析器の新しいバージョンなどではこの問題に対処できる可能性があります。わからない場合は両方を試してみてください。)
例:
# その一 # その二<<code inline=false>>int main(void) { return; } <</code>> # その三
- その一
- その二
int main(void) { return; }
- その三
シンタックスハイライト
<<code>>
マクロでシンタックスハイライトも可能です。
次のようにして、上記の Python の例をシンタックスハイライトさせることができます。
<<code lang=python>> from reversion.models import Revision from .helpers import ProcessedContent class Node(models.Model): language = models.CharField(max_length=10, default='en-us') <</code>>
from reversion.models import Revision from .helpers import ProcessedContent class Node(models.Model): language = models.CharField(max_length=10, default='en-us')
インラインレベルとブロックレベル
lang=
属性が付いた <<code>>
マクロを使用している場合、コードを行中に配置するか、ブロックレベルで表示するか指定することができます。
(inline 属性が指定されていない場合、Creole パーサーは適切な値を推測しようとします。)
有効な値は true
と false
です。
これは <<code lang=c inline=true>>inline=true のコード<</code>> です。
これは inline=true のコード
です。
これは <<code lang=c inline=false>>inline=false のコード<</code>> です。
これは
inline=false のコード
です。
これは <<code lang=c inline=none>>inline=none のコード<</code>> です。
これは
inline=none のコード
です。
シンタックスハイライト可能な言語一覧
Language | Allowed Short Name(s) |
---|---|
ABAP | abap |
ActionScript 3 | as3 actionscript3 |
ActionScript | as actionscript |
Ada | ada ada95ada2005 |
ANTLR With ActionScript Target | antlr-as antlr-actionscript |
ANTLR With C# Target | antlr-csharp antlr-c# |
ANTLR With CPP Target | antlr-cpp |
ANTLR With Java Target | antlr-java |
ANTLR With ObjectiveC Target | antlr-objc |
ANTLR With Perl Target | antlr-perl |
ANTLR With Python Target | antlr-python |
ANTLR With Ruby Target | antlr-ruby antlr-rb |
ANTLR | antlr |
ApacheConf | apacheconf aconf apache |
AppleScript | applescript |
aspx-cs | aspx-cs |
aspx-vb | aspx-vb |
Asymptote | asy asymptote |
Bash Session | console |
Bash | bash sh ksh |
Batchfile | bat |
BBCode | bbcode |
Befunge | befunge |
Boo | boo |
Brainfuck | brainfuck bf |
C# | csharp c# |
C++ | cpp c++ |
c-objdump | c-objdump |
cfstatement | cfs |
Cheetah | cheetah spitfire |
Clojure | clojure clj |
CMake | cmake |
CoffeeScript | coffee-script coffeescript |
Coldufsion HTML | cfm |
Common Lisp | common-lisp cl |
cpp-objdump | cpp-objdump c++-objdumb cxx-objdump |
CSS+Django/Jinja | css+django css+jinja |
CSS+Genshi Text | css+genshitext css+genshi |
CSS+Mako | css+mako |
CSS+Myghty | css+myghty |
CSS+PHP | css+php |
CSS+Ruby | css+erb css+ruby |
CSS+Smarty | css+smarty |
CSS | css |
Cython | cython pyx |
C | c |
d-objdump | d-objdump |
Darcs Patch | dpatch |
Debian Control file | control |
Debian Sourcelist | sourceslist sources.list |
Delphi | delphi pas pascal objectpascal |
Diff | diff udiff |
Django/Jinja | django jinja |
Dylan | dylan |
D | d |
Embedded Ragel | ragel-em |
ERB | erb |
Erlang erl session | erl |
Erlang | erlang |
Evoque | evoque |
Felix | felix flx |
Fortran | fortran |
GAS | gas |
Genshi Text | genshitext |
Genshi | genshi kid xml+genshi xml+kid |
Gettext Catalog | pot po |
Gherkin | Cucumber cucumber Gherkin gherkin |
GLSL | glsl |
Gnuplot | gnuplot |
Go | go |
Groff | groff nroff man |
Haml | haml HAML |
Haskell | haskell hs |
haXe | hx haXe |
HTML+Cheetah | html+cheetah html+spitfire |
HTML+Django/Jinja | html+django html+jinja |
HTML+Evoque | html+evoque |
HTML+Genshi | html+genshi html+kid |
HTML+Mako | html+mako |
HTML+Myghty | html+myghty |
HTML+PHP | html+php |
HTML+Smarty | html+smarty |
HTML | html |
INI | ini cfg |
Io | io |
IRC logs | irc |
Java Server Page | jsp |
JavaScript+Cheetah | js+cheetah javascript+cheetah js+spitfire javascript+spitfire |
JavaScript+Django/Jinja | js+django javascript+django js+jinja javascript+jinja |
JavaScript+Genshi Text | js+genshitext js+genshi javascript+genshitext javascript+genshi |
JavaScript+Mako | js+mako javascript+mako |
JavaScript+Myghty | js+myghty javascript+myghty |
JavaScript+PHP | js+php javascript+php |
JavaScript+Ruby | js+erb javascript+erb js+ruby javascript+ruby |
JavaScript+Smarty | js+smarty javascript+smarty |
JavaScript | js javascript |
Java | java |
Lighttpd configuration file | lighty lighttpd |
Literate Haskell | lhs literate-haskell |
LLVM | llvm |
Logtalk | logtalk |
Lua | lua |
Makefile | basemake |
Makefile | make makefile mf bsdmake |
Mako | mako |
Matlab session | matlabsession |
Matlab | matlab octave |
MiniD | minid |
Modelica | modelica |
Modula-2 | modula2 m2 |
MoinMoin/Trac Wiki markup | trac-wiki moin |
MOOCode | moocode |
MuPAD | mupad |
MXML | mxml |
Myghty | myghty |
MySQL | mysql |
NASM | nasm |
Newspeak | newspeak |
Nginx configuration file | nginx |
NumPy | numpy |
objdump | objdump |
Objective-C | objective-c objectivec obj-c objc |
Objective-J | objective-j objectivej obj-j objj |
OCaml | ocaml |
Ooc | ooc |
Perl | perl pl |
PHP | php php3 php4 php5 |
POVRay | pov |
Prolog | prolog |
Python 3.0 Traceback | py3tb |
Python 3 | python3 py3 |
Python console session | pycon |
Python Traceback | pytb |
Python | python py |
Ragel in C Host | ragel-c |
Ragel in CPP Host | ragel-cpp |
Ragel in D Host | ragel-d |
Ragel in Java Host | ragel-java |
Ragel in Objective C Host | ragel-objc |
Ragel in Ruby Host | ragel-ruby ragel-rb |
Ragel | ragel |
Raw token data | raw |
RConsole | rconsole rout |
REBOL | rebol |
Redcode | redcode |
reStructuredText | rst rest restructuredtext |
RHTML | rhtml html+erb html+ruby |
Ruby irb session | rbcon irb |
Ruby | rb ruby |
Sass | sass SASS |
Scala | scala |
Scheme | scheme scm |
Smalltalk | smalltalk squeak |
Smarty | smarty |
sqlite3con | sqlite3 |
SQL | sql |
SquidConf | squidconf squid.conf squid |
S | splus s r |
Tcl | tcl |
Tcsh | tcsh csh |
Text only | text |
TeX | tex latex |
Vala | vala vapi |
VB.NET | vb.net vbnet |
VimL | vim |
XML+Cheetah | xml+cheetah xml+spitfire |
XML+Django/Jinja | xml+django xml+jinja |
XML+Evoque | xml+evoque |
XML+Mako | xml+mako |
XML+Myghty | xml+myghty |
XML+PHP | xml+php |
XML+Ruby | xml+erb xml+ruby |
XML+Smarty | xml+smarty |
XML | xml |
XSLT | xslt |
YAML | yaml |
Comments
Comments loading...
Content reproduced on this site is the property of its respective owners,
and this content is not reviewed in advance by MariaDB. The views, information and opinions
expressed by this content do not necessarily represent those of MariaDB or any other party.