mirror of
https://github.com/gnosygnu/xowa.git
synced 2024-10-27 20:34:16 +00:00
Add dirty implementation of custom javascript scripting
This commit is contained in:
parent
b7f089a3ab
commit
c98404a8fe
@ -15,14 +15,14 @@ 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.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
interface Script_engine {
|
||||
package gplx.langs.htmls.scripts; import gplx.*; import gplx.langs.*; import gplx.langs.htmls.*;
|
||||
public interface Gfh_script_engine {
|
||||
void Load_script(Io_url url);
|
||||
Object Get_object(String obj_name);
|
||||
void Put_object(String name, Object obj);
|
||||
Object Invoke_method(Object obj, String func, Object... args);
|
||||
}
|
||||
class Script_engine__noop implements Script_engine {
|
||||
class Gfh_script_engine__noop implements Gfh_script_engine {
|
||||
public void Load_script(Io_url url) {}
|
||||
public Object Get_object(String obj_name) {return null;}
|
||||
public void Put_object(String name, Object obj) {}
|
@ -15,27 +15,36 @@ 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.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
package gplx.langs.htmls.scripts; import gplx.*; import gplx.langs.*; import gplx.langs.htmls.*;
|
||||
import java.io.FileReader;
|
||||
|
||||
import javax.script.Invocable;
|
||||
import javax.script.ScriptEngine;
|
||||
import javax.script.ScriptEngineManager;
|
||||
class Script_engine__java implements Script_engine {
|
||||
public class Gfh_script_engine__java implements Gfh_script_engine {
|
||||
private final ScriptEngine engine;
|
||||
private final Invocable invk;
|
||||
public Script_engine__java() {
|
||||
public Gfh_script_engine__java() {
|
||||
ScriptEngineManager manager = new ScriptEngineManager();
|
||||
this.engine = manager.getEngineByName("JavaScript");
|
||||
this.invk = (Invocable)engine;
|
||||
}
|
||||
public void Load_script(Io_url url) {
|
||||
FileReader rdr = null;
|
||||
try {
|
||||
engine.eval(new FileReader(url.Xto_api()));
|
||||
rdr = new FileReader(url.Xto_api());
|
||||
engine.eval(rdr);
|
||||
// return engine.eval(script);
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
finally {
|
||||
try {
|
||||
rdr.close();
|
||||
} catch (Exception e) {
|
||||
System.out.println(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void Put_object(String key, Object val) {
|
||||
engine.put(key, val);
|
@ -32,7 +32,7 @@ public class Xoa_app_ {
|
||||
}
|
||||
}
|
||||
public static final String Name = "xowa";
|
||||
public static final String Version = "3.9.4.5";
|
||||
public static final String Version = "3.9.4.6";
|
||||
public static String Build_date = "2012-12-30 00:00:00";
|
||||
public static String Op_sys_str;
|
||||
public static String User_agent = "";
|
||||
|
@ -26,8 +26,8 @@ public class Xoax_addon_mgr {
|
||||
public void Itms__add(Xoax_addon_itm itm) {
|
||||
synchronized (hash) {
|
||||
String addon_key = itm.Addon__key();
|
||||
Xoa_app_.Usr_dlg().Log_many("", "", "addons.init: ~{0}", addon_key);
|
||||
hash.Add(addon_key, itm);
|
||||
// Xoa_app_.Usr_dlg().Log_many("", "", "addons.init: ~{0}", addon_key);
|
||||
}
|
||||
}
|
||||
public Xoax_addon_mgr Add_dflts_by_app(Xoa_app app) {
|
||||
|
@ -20,7 +20,7 @@ import gplx.dbs.*;
|
||||
import gplx.xowa.bldrs.*; import gplx.xowa.addons.bldrs.files.dbs.*;
|
||||
class Xodel_find_missing_mgr {
|
||||
public void Exec(Xow_wiki wiki) {
|
||||
// get page_file_map; note that it must have fsdb_deleted
|
||||
// get page_file_map; note that it must have fsdb_regy
|
||||
Db_conn pfm_conn = Xob_db_file.New__page_file_map(wiki).Conn();
|
||||
|
||||
// attach page_db
|
||||
@ -71,7 +71,7 @@ class Xodel_find_missing_mgr {
|
||||
deletion_conn.Meta_idx_create(Dbmeta_idx_itm.new_normal_by_tbl(delete_regy_tbl.tbl_name, "main", delete_regy_tbl.fld_fil_id, delete_regy_tbl.fld_thm_id));
|
||||
}
|
||||
/*
|
||||
--create in pfm_db
|
||||
--create fsdb_regy in pfm_db
|
||||
CREATE TABLE fsdb_regy
|
||||
( fsdb_id integer NOT NULL PRIMARY KEY AUTOINCREMENT
|
||||
, fsdb_name varchar(255) NOT NULL
|
||||
@ -88,7 +88,7 @@ CREATE TABLE fsdb_regy
|
||||
, fsdb_deleted tinyint NOT NULL
|
||||
);
|
||||
|
||||
--run in file.make
|
||||
--export fsdb_regy from file.make
|
||||
ATTACH 'simple.wikipedia.org-file-page_map.xowa' AS pfm_db;
|
||||
INSERT INTO pfm_db.fsdb_regy SELECT * FROM fsdb_regy;
|
||||
CREATE INDEX fsdb_regy__main ON fsdb_regy (fsdb_fil_id, fsdb_thm_id);
|
||||
|
@ -1,57 +0,0 @@
|
||||
/*
|
||||
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.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
import gplx.xowa.wikis.pages.tags.*;
|
||||
public class Xoh_include_mgr {
|
||||
private Io_url[] main_urls; private int main_urls_len;
|
||||
public void Init(Xow_wiki wiki) {
|
||||
// check bin dir
|
||||
Io_url include_dir = wiki.Fsys_mgr().Root_dir().GenSubDir_nest("bin", "html", "include");
|
||||
if (!Io_mgr.Instance.ExistsDir(include_dir)) return;
|
||||
|
||||
this.main_urls = Io_mgr.Instance.QueryDir_args(include_dir).FilPath_("*.js").ExecAsUrlAry();
|
||||
this.main_urls_len = main_urls.length;
|
||||
if (main_urls_len == 0) {
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "no '.js' files found; dir=~{0}", include_dir.Raw());
|
||||
return;
|
||||
}
|
||||
}
|
||||
public void Write(Xow_wiki wiki, Xoa_page page) {
|
||||
this.Init(wiki);
|
||||
if (main_urls_len == 0) return;
|
||||
|
||||
// create engine and load scripts
|
||||
Script_engine engine = new Script_engine__java();
|
||||
for (int i = 0; i < main_urls_len; ++i) {
|
||||
engine.Load_script(main_urls[i]);
|
||||
}
|
||||
// engine.Put_object("page", new Xoscript_page())
|
||||
Xoscript_page xos_pg = new Xoscript_page();
|
||||
|
||||
Object xowa_script = engine.Get_object("xowa_script");
|
||||
// engine.Invoke_method(xowa_script, "main", page.Url().To_str());
|
||||
engine.Invoke_method(xowa_script, "main", xos_pg);
|
||||
// if (String_.Has(rv, "yes")) {
|
||||
// Io_url js_url = null;
|
||||
// page.Html_data().Custom_head_tags().Add(Xopg_tag_itm.New_js_file(js_url));
|
||||
// }
|
||||
}
|
||||
// public static Xoh_include_mgr Get_or_new(Xow_wiki wiki) {
|
||||
// wiki.Addon_mgr().Itms__get_or_null();
|
||||
// }
|
||||
}
|
@ -15,9 +15,8 @@ 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.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
public class Xoscript_page_doc {
|
||||
public void Test() {
|
||||
// Tfds.Write("hi");
|
||||
}
|
||||
package gplx.xowa.addons.htmls.scripts; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
public class Xoscript_env {
|
||||
public Xoscript_env(Io_url root_dir) {this.root_dir = root_dir;}
|
||||
public Io_url Root_dir() {return root_dir;} private final Io_url root_dir;
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
/*
|
||||
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.addons.htmls.scripts; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
import gplx.langs.htmls.scripts.*;
|
||||
import gplx.xowa.wikis.pages.tags.*;
|
||||
import gplx.xowa.addons.htmls.scripts.apis.*;
|
||||
public class Xoscript_mgr {
|
||||
private Io_url root_dir;
|
||||
private Io_url[] script_urls; private int script_urls_len;
|
||||
public void Init(Xow_wiki wiki) {
|
||||
// check script_dir
|
||||
this.root_dir = wiki.Fsys_mgr().Root_dir().GenSubDir_nest("bin", "html", "script");
|
||||
if (!Io_mgr.Instance.ExistsDir(root_dir)) return;
|
||||
|
||||
// xowa.boot.js
|
||||
// find script urls
|
||||
this.script_urls = Io_mgr.Instance.QueryDir_args(root_dir).FilPath_("*.js").ExecAsUrlAry();
|
||||
this.script_urls_len = script_urls.length;
|
||||
if (script_urls_len == 0) {
|
||||
Gfo_usr_dlg_.Instance.Warn_many("", "", "xoscript:no '.js' files found; dir=~{0}", root_dir.Raw());
|
||||
return;
|
||||
}
|
||||
}
|
||||
public void Write(Bry_bfr rv, Xow_wiki wiki, Xoa_page page) {
|
||||
// init
|
||||
this.Init(wiki);
|
||||
if (script_urls_len == 0) return;
|
||||
|
||||
// create engine and load scripts
|
||||
Gfh_script_engine engine = new Gfh_script_engine__java();
|
||||
for (int i = 0; i < script_urls_len; ++i) {
|
||||
engine.Load_script(script_urls[i]);
|
||||
}
|
||||
|
||||
// call script
|
||||
Object xowa_script = engine.Get_object("xowa_script");
|
||||
Xoscript_env env = new Xoscript_env(root_dir);
|
||||
Xoscript_page spg = new Xoscript_page(rv, env, new Xoscript_url(page.Wiki().Domain_str(), String_.new_u8(page.Url().Page_bry())));
|
||||
engine.Invoke_method(xowa_script, "main", spg);
|
||||
|
||||
// overwrite html
|
||||
if (spg.Doc().Dirty()) {
|
||||
rv.Clear();
|
||||
rv.Add_str_u8(spg.Doc().Html());
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
/*
|
||||
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.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*;
|
||||
public class Xoscript_doc {
|
||||
private final Bry_bfr bfr;
|
||||
public Xoscript_doc(Bry_bfr bfr, Xoscript_page page) {
|
||||
this.bfr = bfr;
|
||||
this.page = page;
|
||||
this.head = new Xoscript_doc_head(this);
|
||||
this.tail = new Xoscript_doc_tail(this);
|
||||
}
|
||||
public Xoscript_page Page() {return page;} private final Xoscript_page page;
|
||||
public Xoscript_doc_head Head() {return head;} private final Xoscript_doc_head head;
|
||||
public Xoscript_doc_tail Tail() {return tail;} private final Xoscript_doc_tail tail;
|
||||
public String Html() {
|
||||
if (html == null) {
|
||||
html = bfr.To_str();
|
||||
}
|
||||
return html;
|
||||
} private String html;
|
||||
public void Html_(String s) {
|
||||
html = s;
|
||||
html_dirty = true;
|
||||
}
|
||||
public boolean Dirty() {
|
||||
return html_dirty;
|
||||
} private boolean html_dirty;
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
/*
|
||||
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.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*;
|
||||
public class Xoscript_doc_head {
|
||||
private final Xoscript_doc doc;
|
||||
public Xoscript_doc_head(Xoscript_doc doc) {this.doc = doc;}
|
||||
public void Add_js_file(String file, String pos) {
|
||||
String marker = String_.Eq(pos, "top") ? "<!--XOWA.SCRIPT.HEAD.TOP-->" : "<!--XOWA.SCRIPT.HEAD.BOT-->";
|
||||
if (String_.Has_at_bgn(file, "./")) file = String_.Replace(file, "./", doc.Page().Env().Root_dir().To_http_file_str());
|
||||
String elem = "<script src=\"" + file + "\" type=\"text/javascript\"></script>\n";
|
||||
doc.Html_(String_.Replace(doc.Html(), marker, marker + elem));
|
||||
}
|
||||
public void Add_elem(String elem, String pos) {
|
||||
String marker = String_.Eq(pos, "top") ? "<!--XOWA.SCRIPT.HEAD.TOP-->" : "<!--XOWA.SCRIPT.HEAD.BOT-->";
|
||||
doc.Html_(String_.Replace(doc.Html(), marker, marker + elem));
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
/*
|
||||
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.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*;
|
||||
public class Xoscript_doc_tail {
|
||||
private final Xoscript_doc doc;
|
||||
public Xoscript_doc_tail(Xoscript_doc doc) {this.doc = doc;}
|
||||
public void Add_js_file(String file, String pos) {
|
||||
String marker = String_.Eq(pos, "top") ? "<!--XOWA.SCRIPT.TAIL-->" : "<!--XOWA.SCRIPT.TAIL-->";
|
||||
if (String_.Has_at_bgn(file, "./")) file = String_.Replace(file, "./", doc.Page().Env().Root_dir().To_http_file_str());
|
||||
String elem = "<script src=\"" + file + "\" type=\"text/javascript\"></script>\n";
|
||||
doc.Html_(String_.Replace(doc.Html(), marker, marker + elem));
|
||||
}
|
||||
public void Add_elem(String elem, String pos) {
|
||||
String marker = String_.Eq(pos, "top") ? "<!--XOWA.SCRIPT.TAIL-->" : "<!--XOWA.SCRIPT.TAIL-->";
|
||||
doc.Html_(String_.Replace(doc.Html(), marker, marker + elem));
|
||||
}
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
/*
|
||||
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.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*;
|
||||
public class Xoscript_page {
|
||||
public Xoscript_page(Bry_bfr rv, Xoscript_env env, Xoscript_url url) {
|
||||
this.env = env;
|
||||
this.url = url;
|
||||
this.doc = new Xoscript_doc(rv, this);
|
||||
}
|
||||
public Xoscript_env Env() {return env;} private final Xoscript_env env;
|
||||
public Xoscript_url Url() {return url;} private final Xoscript_url url;
|
||||
public Xoscript_doc Doc() {return doc;} private final Xoscript_doc doc;
|
||||
}
|
@ -15,10 +15,9 @@ 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.addons.htmls.includes; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*;
|
||||
public class Xoscript_page {
|
||||
private Xoscript_page_doc doc = new Xoscript_page_doc();
|
||||
public Xoscript_page_doc Doc() {
|
||||
return doc;
|
||||
}
|
||||
package gplx.xowa.addons.htmls.scripts.apis; import gplx.*; import gplx.xowa.*; import gplx.xowa.addons.*; import gplx.xowa.addons.htmls.*; import gplx.xowa.addons.htmls.scripts.*;
|
||||
public class Xoscript_url {
|
||||
public Xoscript_url(String wiki_name, String page_name) {this.wiki_name = wiki_name; this.page_name = page_name;}
|
||||
public String Wiki_name() {return wiki_name;} private final String wiki_name;
|
||||
public String Page_name() {return page_name;} private final String page_name;
|
||||
}
|
@ -160,12 +160,12 @@ public class Xog_tab_itm implements Gfo_invk {
|
||||
else {
|
||||
wkr.Page().Tab_data().Tab().Page_(page); // NOTE: must set tab's page to current page, so that switching to it will update url bar; EX:pt.b:A"MANUAL_DE_PROCEDURI_.Sectiunea:""CONTABILITATE_SI_MANAGEMENT_FINANCIAR""" DATE:2015-09-17
|
||||
if (page.Redirect_trail().Itms__len() > 0)
|
||||
usr_dlg.Prog_many("", "", "could not find: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), page.Redirect_trail().Itms__get_at_0th_or_null());
|
||||
usr_dlg.Prog_many("", "", "could not find page in wiki: ~{0} (redirected from ~{1})", String_.new_u8(page.Url().Page_bry()), page.Redirect_trail().Itms__get_at_0th_or_null());
|
||||
else {
|
||||
if (ttl.Ns().Id_is_file())
|
||||
usr_dlg.Prog_one("", "", "commons.wikimedia.org must be installed in order to view the file. See [[App/Wiki_types/Commons]]: ~{0}", String_.new_u8(url.Raw()));// HOME
|
||||
else
|
||||
usr_dlg.Prog_one("", "", "could not find: ~{0}", String_.new_u8(url.Raw()));
|
||||
usr_dlg.Prog_one("", "", "could not find page in wiki: ~{0}", String_.new_u8(url.Raw()));
|
||||
}
|
||||
}
|
||||
app.Log_wtr().Queue_enabled_(false);
|
||||
|
@ -62,7 +62,7 @@ public class Xoh_page_wtr_wkr {
|
||||
wdata_lang_wtr.Page_(null);
|
||||
|
||||
if (page_mode == Xopg_page_.Tid_read) { // EXPERIMENTAL
|
||||
new gplx.xowa.addons.htmls.includes.Xoh_include_mgr().Write(wiki, page);
|
||||
new gplx.xowa.addons.htmls.scripts.Xoscript_mgr().Write(rv, wiki, page);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,5 +30,5 @@ public class Xopg_page_heading implements Bfr_arg {
|
||||
if (html_data.Xtn_pgbnr() != null) return; // pgbnr exists; don't add title
|
||||
fmtr.Bld_many(bfr, display_title);
|
||||
}
|
||||
private final Bry_fmt fmtr = Bry_fmt.New(Bry_.New_u8_nl_apos("<h1 id='firstHeading' class='firstHeading'><span>~{page_title}</span></h1>"), "page_title");
|
||||
private final Bry_fmt fmtr = Bry_fmt.New(Bry_.New_u8_nl_apos("<h1 id='firstHeading' class='firstHeading'>~{page_title}</h1>"), "page_title"); // <span>~{page_title}</span>
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user