1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00
This commit is contained in:
gnosygnu
2015-07-12 21:10:02 -04:00
commit 794b5a232f
3099 changed files with 238212 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.geoCrumbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import gplx.xowa.xtns.pfuncs.*;
public class Geoc_isin_func extends Pf_func_base {
@Override public int Id() {return Xol_kwd_grp_.Id_geoCrumbs_isin;}
@Override public Pf_func New(int id, byte[] name) {return new Geoc_isin_func().Name_(name);}
@Override public void Func_evaluate(Xop_ctx ctx, byte[] src, Xot_invk caller, Xot_invk self, Bry_bfr bfr) {
byte[] ttl_bry = Eval_argx(ctx, src, caller, self);
Xowe_wiki wiki = ctx.Wiki();
Xoa_ttl ttl = Xoa_ttl.parse_(wiki, ttl_bry); if (ttl == null) return;
byte[] lnki_ttl = Bry_.Add(Xop_tkn_.Lnki_bgn, ttl_bry, Xop_tkn_.Lnki_end); // make "[[ttl]]"
Bry_bfr tmp_bfr = wiki.Utl__bfr_mkr().Get_b128();
wiki.Parser().Parse_text_to_html(tmp_bfr, ctx.Cur_page(), false, lnki_ttl);
ctx.Cur_page().Html_data().Content_sub_(tmp_bfr.To_bry_and_rls());
}
public static final Geoc_isin_func _ = new Geoc_isin_func();
}

View File

@@ -0,0 +1,35 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.geoCrumbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import org.junit.*;
public class Geoc_isin_func_tst {
@Before public void init() {fxt.Reset();} private Geoc_isin_func_fxt fxt = new Geoc_isin_func_fxt();
@Test public void Basic() {
fxt.Test_parse("{{#isin:A}}", "<a href=\"/wiki/A\">A</a>");
}
}
class Geoc_isin_func_fxt {
private Xop_fxt fxt = new Xop_fxt();
public void Reset() {
fxt.Reset();
}
public void Test_parse(String raw, String expd) {
fxt.Test_parse_tmpl_str_test(raw, "{{test}}" , "");
Tfds.Eq(expd, String_.new_u8(fxt.Page().Html_data().Content_sub()));
}
}

View File

@@ -0,0 +1,33 @@
/*
XOWA: the XOWA Offline Wiki Application
Copyright (C) 2012 gnosygnu@gmail.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package gplx.xowa.xtns.geoCrumbs; import gplx.*; import gplx.xowa.*; import gplx.xowa.xtns.*;
import gplx.dbs.*;
class Geoc_isin_mgr {
public void Reg(int page_id, byte[] page_ttl, byte[] owner_ttl) {
}
}
class Geoc_isin_itm {
public int Page_id() {return page_id;} private int page_id;
public byte[] Page_ttl() {return page_ttl;} private byte[] page_ttl;
public byte[] Owner_ttl() {return owner_ttl;} private byte[] owner_ttl;
public Db_cmd_mode Db_state() {return db_state;} private Db_cmd_mode db_state = Db_cmd_mode.Retrieved;
public void Init_by_make(int page_id, byte[] page_ttl, byte[] owner_ttl) {
this.page_id = page_id; this.page_ttl = page_ttl; this.owner_ttl = owner_ttl; db_state = Db_cmd_mode.Created;
}
}