1
0
mirror of https://github.com/gnosygnu/xowa.git synced 2026-03-02 03:49:30 +00:00

v2.11.1.1

This commit is contained in:
gnosygnu
2015-11-01 20:50:05 -05:00
parent 4f43f51b18
commit b990ec409f
858 changed files with 6758 additions and 4187 deletions

View File

@@ -26,7 +26,7 @@ public class Xop_nl_lxr implements Xop_lxr {
public int Make_tkn(Xop_ctx ctx, Xop_tkn_mkr tkn_mkr, Xop_root_tkn root, byte[] src, int src_len, int bgn_pos, int cur_pos) {
if (bgn_pos == Xop_parser_.Doc_bgn_bos) return ctx.Lxr_make_txt_(cur_pos); // simulated nl at beginning of every parse
int trim_category_pos = Scan_fwd_for_ctg(ctx, src, cur_pos, src_len);
if (trim_category_pos != Bry_.NotFound) { // [[Category]] found after ws
if (trim_category_pos != Bry_find_.Not_found) { // [[Category]] found after ws
int root_subs_len = root.Subs_len();
if (root_subs_len > 0) {
Xop_tkn_itm tkn = root.Subs_get(root_subs_len - 1);
@@ -104,14 +104,14 @@ public class Xop_nl_lxr implements Xop_lxr {
&& Bry_.Has_at(src, src_len, ctg_trie.Match_pos(), Byte_ascii.Colon)) { // check that next char is :
return i;// return pos of 1st [
}
return Bry_.NotFound;
return Bry_find_.Not_found;
}
break;
default: // non-ws; return not found
return Bry_.NotFound;
return Bry_find_.Not_found;
}
}
return Bry_.NotFound;
return Bry_find_.Not_found;
}
public static final Xop_nl_lxr Instance = new Xop_nl_lxr(); Xop_nl_lxr() {}
}

View File

@@ -16,6 +16,7 @@ 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.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import gplx.langs.htmls.*; import gplx.xowa.htmls.core.htmls.*;
public class Xop_para_tkn extends Xop_tkn_itm_base {
public Xop_para_tkn(int pos) {this.Tkn_ini_pos(false, pos, pos);}
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_para;}
@@ -28,4 +29,26 @@ public class Xop_para_tkn extends Xop_tkn_itm_base {
, Tid_para = 1 // </p>
, Tid_pre = 2 // </pre>
;
@Override public void Html__write(Bry_bfr bfr, Xoh_html_wtr wtr, Xowe_wiki wiki, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, Xoh_html_wtr_cfg cfg, Xop_tkn_grp grp, int sub_idx, byte[] src) {
if (nl_bgn && bfr.Len() > 0) {
if (hctx.Mode_is_alt()) // write called during alt=''
bfr.Add_byte_space(); // write '\s', not '\n'
else
bfr.Add_byte_if_not_last(Byte_ascii.Nl); // write '\n'
}
switch (para_end) {
case Xop_para_tkn.Tid_none: break;
case Xop_para_tkn.Tid_para: bfr.Add(Html_tag_.P_rhs).Add_byte_nl(); break; // '<p>'
case Xop_para_tkn.Tid_pre: bfr.Add(Html_tag_.Pre_rhs).Add_byte_nl(); break; // '<pre>'
default: throw Err_.new_unhandled(para_end);
}
switch (para_bgn) {
case Xop_para_tkn.Tid_none: break;
case Xop_para_tkn.Tid_para: Xoh_html_wtr_.Para__assert_tag_starts_on_nl(bfr, this.Src_bgn()); bfr.Add(Html_tag_.P_lhs); break; // '</p>'
case Xop_para_tkn.Tid_pre: Xoh_html_wtr_.Para__assert_tag_starts_on_nl(bfr, this.Src_bgn()); bfr.Add(Html_tag_.Pre_lhs); break; // '</pre>'
default: throw Err_.new_unhandled(para_bgn);
}
if (space_bgn > 0)
bfr.Add_byte_repeat(Byte_ascii.Space, space_bgn);
}
}

View File

@@ -16,6 +16,7 @@ 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.parsers.paras; import gplx.*; import gplx.xowa.*; import gplx.xowa.parsers.*;
import gplx.langs.htmls.*; import gplx.xowa.htmls.core.htmls.*;
public class Xop_pre_tkn extends Xop_tkn_itm_base {
public Xop_pre_tkn(int bgn, int end, byte pre_tid, Xop_tkn_itm pre_bgn_tkn) {
this.Tkn_ini_pos(false, bgn, end);
@@ -23,5 +24,12 @@ public class Xop_pre_tkn extends Xop_tkn_itm_base {
}
@Override public byte Tkn_tid() {return Xop_tkn_itm_.Tid_pre;}
public byte Pre_tid() {return pre_tid;} private byte pre_tid = Pre_tid_null;
@Override public void Html__write(Bry_bfr bfr, Xoh_html_wtr wtr, Xowe_wiki wiki, Xoae_page page, Xop_ctx ctx, Xoh_wtr_ctx hctx, Xoh_html_wtr_cfg cfg, Xop_tkn_grp grp, int sub_idx, byte[] src) {
switch (pre_tid) {
case Xop_pre_tkn.Pre_tid_bgn: bfr.Add(Html_tag_.Pre_lhs); break; // '<pre>'
case Xop_pre_tkn.Pre_tid_end: bfr.Add(Bry__pre__rhs); break; // '\n</pre>\n\n'
}
}
public static final byte Pre_tid_null = 0, Pre_tid_bgn = 1, Pre_tid_end = 2;
private static final byte[] Bry__pre__rhs = Bry_.new_a7("\n</pre>\n\n");
}