iv = clipWhite (args[1]->textOut (wiki));
}
} else {
- wiki->errorMsg.append (CharConst ("$repeat: wrong number of parameters.\n"));
+ wiki->errorMsg.append (CharConst ("$doarray: wrong number of parameters.\n"));
}
iu = lv.size ();
if (iu > 0) {
//#WIKICMD $evalblock $endevalblock wc_evalblock
void wc_evalblock (WikiLine* wl, WikiFormat* wiki) {
MotorSexp ml (wiki->mlenv);
-// ustring sexp (wl->begin, wl->end);
#ifdef WIKIEVALPROTECT
if (wiki->protectMode && ! wl->fsuper) {
変数''VARIABLE''に格納されたWikiテキストを挿入する。
オプションの「=」を追加すると,「=」の数だけ挿入されるWikiテキストのタイトルの深さが下げられる。
-superuserオプションをつけると,
+superuserオプションをつけると,管理者機能が有効になる。
*/
//#WIKICMD $insert wc_insert
WikiMotorObjVec objv;
WikiMotorObjVecVec args;
ustring name;
-// std::vector<ustring> vars;
MNodeList vars;
int i, n;
WikiMotorObjVecVec v;
args[1]->splitCharA (',', v);
for (i = 0; i < v.size (); i ++) {
-// vars.push_back (clipWhite (v[i]->textOut (wiki)));
vars.append (newMNode_str (new ustring (clipWhite (v[i]->textOut (wiki)))));
}
} else if (args.size () > 2) {
static void call_defun_macro (ustring& name, WikiMacro* mf, WikiMotorObjVec& objv2, WikiLine* wl, WikiFormat* wiki) {
WikiMotorObjVecVec argsv;
-// MNodePtr vargs;
objv2.splitCharA (':', argsv);
-// vargs = wiki->buildArgs (argsv.begin (), argsv.end ());
-// mf->mars;
{
AutoLocalVariable autoLocal (wiki->mlenv);
MNode* p = mf->vars ();
[[b:wiki function形式のボールド]]
[[bi:ボールド+イタリック]]
[[ib:ボールド+イタリック]]
+ [[sup:上付き]]
+ [[sub:下付き]]
*/
-//#WIKILINE i wl_italic
-bool wl_italic (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
+static bool wl_em_sub (const char* op, size_t oplen, const char* cl, size_t cllen,
+ WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
MotorOutputString html;
- html.out_raw (CharConst ("<i>"))
+ html.out_raw (op, oplen)
->out_toText (arg2->htmlOut (wiki))
- ->out_raw (CharConst ("</i>"));
+ ->out_raw (cl, cllen);
out.push_back (WikiMotorObjPtr (new WikiMotorObjHtml (html.ans)));
return true;
}
+//#WIKILINE i wl_italic
+bool wl_italic (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
+ return wl_em_sub (CharConst ("<i>"), CharConst ("</i>"), arg2, out, wiki);
+}
+
//#WIKILINE b wl_bold
bool wl_bold (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
- MotorOutputString html;
- html.out_raw (CharConst ("<b>"))
- ->out_toText (arg2->htmlOut (wiki))
- ->out_raw (CharConst ("</b>"));
- out.push_back (WikiMotorObjPtr (new WikiMotorObjHtml (html.ans)));
- return true;
+ return wl_em_sub (CharConst ("<b>"), CharConst ("</b>"), arg2, out, wiki);
}
//#WIKILINE bi wl_bolditalic
//#WIKILINE ib wl_bolditalic
bool wl_bolditalic (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
- MotorOutputString html;
- html.out_raw (CharConst ("<b><i>"))
- ->out_toText (arg2->htmlOut (wiki))
- ->out_raw (CharConst ("</i></b>"));
- out.push_back (WikiMotorObjPtr (new WikiMotorObjHtml (html.ans)));
- return true;
+ return wl_em_sub (CharConst ("<b><i>"), CharConst ("</i></b>"), arg2, out, wiki);
+}
+
+//#WIKILINE sup wl_sup
+bool wl_sup (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
+ return wl_em_sub (CharConst ("<sup>"), CharConst ("</sup>"), arg2, out, wiki);
+}
+
+//#WIKILINE sub wl_sub
+bool wl_sub (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki) {
+ return wl_em_sub (CharConst ("<sub>"), CharConst ("</sub>"), arg2, out, wiki);
}
/* ============================================================ */
bool wl_italic (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
bool wl_bold (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
bool wl_bolditalic (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
+bool wl_sup (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
+bool wl_sub (WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
bool wl_http (WikiMotorObjVecVec* args, WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
bool wl_http_new (WikiMotorObjVecVec* args, WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);
bool wl_https (WikiMotorObjVecVec* args, WikiMotorObjVec* arg2, WikiMotorObjVec& out, WikiFormat* wiki);