Wenn Sie beispielsweise ein Wiki mit Trac schreiben, möchten Sie möglicherweise eine solche Notiz einfügen.
Der Weg, um so etwas zu schreiben, besteht darin, im Voraus ein Stylesheet vorzubereiten und
style.css
div[class|="msg"] {
background-repeat: no-repeat;
background-position: 5px 10px;
border-top: solid 1px;
border-left: solid 10px;
padding: 3px 45px;
}
div.msg-devil {
background-image: url("face-devilish.png ");
border-color: red;
}
Es verwendet einen Div-Prozessor.
{{{
#!div class="msg-devil"
'''Ich werde die Prüfung ablegen! !! !!'''
}}}
** ··· störend **
Es ist nicht so sperrig, aber ich möchte es in einer Zeile mit so etwas wie "[[div (Teufel", "Ich werde die Prüfung ablegen !!!") "schreiben. Also habe ich ein einfaches Plug-In gemacht.
DivHelperPlugin
web_ui.py
# -*- coding:utf8 -*-
from trac.core import *
from trac.config import ConfigSection
from trac.wiki import IWikiMacroProvider
from trac.wiki.formatter import system_message
from trac.wiki.formatter import WikiProcessor
from trac.wiki.parser import parse_processor_args
class DivHelperPlugin(Component):
"undocumented"
implements (IWikiMacroProvider)
_section = ConfigSection('divhelper', 'undocumented')
_prefixes = {"div": "div-alias.", "span": "span-alias."}
def get_macros(self):
yield "cdiv"
yield "cspan"
for name, value in self._section.options():
for pname, prefix in self._prefixes.items():
if name.startswith(prefix):
yield pname + '_' + name[len(prefix):]
def get_macro_description(self, name):
return 'undocumented : %s' % name
def expand_macro(self, formatter, name, content, args = None):
if name in ("cdiv", "cspan"):
try:
clsname, content = content.split(",", 1)
pname = name[1:]
pargs = {"class": clsname}
content = content.strip()
except:
return system_message("%s: invalid args (%s)" % (name, content))
else:
pname, alias = name.split("_", 1)
key = self._prefixes[pname] + alias
pargs = parse_processor_args(self._section.get(key))
p = WikiProcessor(formatter, pname, pargs)
return p.processor(content)
Ich befürchte, dass get_macro_description viele Auslassungen aufweist ...
Die Quelle ist hier, also können Sie entweder "hg clone" und "python setup.py bdist_egg" oder "python setup.py install". https://bitbucket.org/iwata0303/tracdivhelper
Befolgen Sie dann die allgemeinen Installationsanweisungen für das Trac-Plug-In.
Es funktioniert nur mit Trac 1.0. Ich denke, es wird funktionieren, wenn es sich um eine 0.12-Serie handelt, aber wie wäre es damit?
Nach der Installation können Sie das Makro "cdev" verwenden. Damit können Sie das Obige schreiben.
[[cdev(msg-devil, '''Ich werde die Prüfung ablegen! !! !!''')]]
Wenn Sie solche Einstellungen im Voraus in trac.ini schreiben,
trac.ini
[divhelper]
div-alias.devil = class="msg-devil"
Sie können kürzer schreiben.
[[div_devil('''Ich werde die Prüfung ablegen! !! !!''')]]
Wenn Sie beispielsweise möchten, dass die Textfarbe rot ist, können Sie normalerweise ColorMacro installieren oder das span-Makro verwenden.
[[Color(none, red,Es ist ein roter Buchstabe)]]
[[span(Es ist ein roter Buchstabe, style=color:red)]]
Ich mache so etwas, aber das ist auch dieses Plug-In
trac.ini
[divhelper]
span-alias.red = style="color:red"
Sie können einfacher schreiben.
[[span_red(Es ist ein roter Buchstabe)]]
Es ist ein Plug-In mit ungefähr 30 Zeilen und es braucht nicht viel Zeit, aber es ist ziemlich praktisch :) (Selbstlob)