@fiduswriter/bibliography-manager 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/export/index.js +1 -1
- package/dist/export/index.js.map +1 -1
- package/dist/schema/common.js +86 -0
- package/dist/schema/common.js.map +1 -0
- package/dist/schema/csl_bib.js +131 -0
- package/dist/schema/csl_bib.js.map +1 -0
- package/dist/schema/literal.js +1 -1
- package/dist/schema/literal.js.map +1 -1
- package/dist/schema/literal_long.js +1 -1
- package/dist/schema/literal_long.js.map +1 -1
- package/dist/schema/title.js +1 -1
- package/dist/schema/title.js.map +1 -1
- package/package.json +3 -2
- package/src/export/index.js +1 -1
- package/src/schema/common.ts +95 -0
- package/src/schema/csl_bib.ts +140 -0
- package/src/schema/literal.js +1 -1
- package/src/schema/literal_long.js +1 -1
- package/src/schema/title.js +1 -1
package/dist/export/index.js
CHANGED
package/dist/export/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/export/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACjD,OAAO,QAAQ,MAAM,YAAY,CAAA;AAEjC,MAAM,OAAO,oBAAoB;IAC7B,YAAY,KAAK,EAAE,GAAG;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA,CAAC,gEAAgE;QAC/E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA,CAAC,4CAA4C;IACnE,CAAC;IAED,IAAI;QACA,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,gBAAgB,EAAC,EAAE,EAAE;YAC7C,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAE9D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;gBAC9B;oBACI,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,QAAQ,CAAC,MAAM;iBAC5B;aACJ,CAAC,CAAA;YACF,MAAM;iBACD,IAAI,EAAE;iBACN,IAAI,CAAC,IAAI,CAAC,EAAE,CACT,QAAQ,CAAC,IAAI,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CACxD,CAAA;QACT,CAAC,CAAC,CAAA;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export const text = {
|
|
2
|
+
group: "inline"
|
|
3
|
+
};
|
|
4
|
+
export const literal = {
|
|
5
|
+
content: "inline*",
|
|
6
|
+
marks: "_",
|
|
7
|
+
parseDOM: [{ tag: "div.literal" }],
|
|
8
|
+
toDOM() {
|
|
9
|
+
return [
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
class: "literal"
|
|
13
|
+
},
|
|
14
|
+
0
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export const variable = {
|
|
19
|
+
inline: true,
|
|
20
|
+
group: "inline",
|
|
21
|
+
attrs: {
|
|
22
|
+
variable: { default: "" }
|
|
23
|
+
},
|
|
24
|
+
parseDOM: [
|
|
25
|
+
{
|
|
26
|
+
tag: "span[data-variable]",
|
|
27
|
+
getAttrs(dom) {
|
|
28
|
+
const element = dom;
|
|
29
|
+
return {
|
|
30
|
+
variable: element.getAttribute("data-variable")
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
toDOM(node) {
|
|
36
|
+
return [
|
|
37
|
+
"span",
|
|
38
|
+
{ "data-variable": node.attrs.variable },
|
|
39
|
+
node.attrs.variable
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export const sup = {
|
|
44
|
+
parseDOM: [
|
|
45
|
+
{ tag: "sup" },
|
|
46
|
+
{ style: "vertical-align", getAttrs: value => value == "super" && null }
|
|
47
|
+
],
|
|
48
|
+
toDOM() {
|
|
49
|
+
return ["sup"];
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export const sub = {
|
|
53
|
+
parseDOM: [
|
|
54
|
+
{ tag: "sub" },
|
|
55
|
+
{ style: "vertical-align", getAttrs: value => value == "sub" && null }
|
|
56
|
+
],
|
|
57
|
+
toDOM() {
|
|
58
|
+
return ["sub"];
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
export const smallcaps = {
|
|
62
|
+
parseDOM: [
|
|
63
|
+
{ tag: "span.smallcaps" },
|
|
64
|
+
{
|
|
65
|
+
style: "font-variant",
|
|
66
|
+
getAttrs: value => value == "small-caps" && null
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
toDOM() {
|
|
70
|
+
return ["span", { class: "smallcaps" }];
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
// Currently unsupported
|
|
74
|
+
export const url = {
|
|
75
|
+
parseDOM: [{ tag: "span.url" }],
|
|
76
|
+
toDOM() {
|
|
77
|
+
return ["span", { class: "url" }];
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
export const enquote = {
|
|
81
|
+
parseDOM: [{ tag: "span.enquote" }],
|
|
82
|
+
toDOM() {
|
|
83
|
+
return ["span", { class: "enquote" }];
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schema/common.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAa;IAC1B,KAAK,EAAE,QAAQ;CAClB,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAa;IAC7B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,aAAa,EAAC,CAAC;IAChC,KAAK;QACD,OAAO;YACH,KAAK;YACL;gBACI,KAAK,EAAE,SAAS;aACnB;YACD,CAAC;SACJ,CAAA;IACL,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAa;IAC9B,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE;QACH,QAAQ,EAAE,EAAC,OAAO,EAAE,EAAE,EAAC;KAC1B;IACD,QAAQ,EAAE;QACN;YACI,GAAG,EAAE,qBAAqB;YAC1B,QAAQ,CAAC,GAAG;gBACR,MAAM,OAAO,GAAG,GAAc,CAAA;gBAC9B,OAAO;oBACH,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;iBAClD,CAAA;YACL,CAAC;SACJ;KACJ;IACD,KAAK,CAAC,IAAI;QACN,OAAO;YACH,MAAM;YACN,EAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,QAAkB,EAAC;YAChD,IAAI,CAAC,KAAK,CAAC,QAAkB;SAChC,CAAA;IACL,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAa;IACzB,QAAQ,EAAE;QACN,EAAC,GAAG,EAAE,KAAK,EAAC;QACZ,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,IAAI,IAAI,EAAC;KACzE;IACD,KAAK;QACD,OAAO,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAa;IACzB,QAAQ,EAAE;QACN,EAAC,GAAG,EAAE,KAAK,EAAC;QACZ,EAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,IAAI,EAAC;KACvE;IACD,KAAK;QACD,OAAO,CAAC,KAAK,CAAC,CAAA;IAClB,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAa;IAC/B,QAAQ,EAAE;QACN,EAAC,GAAG,EAAE,gBAAgB,EAAC;QACvB;YACI,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,YAAY,IAAI,IAAI;SACnD;KACJ;IACD,KAAK;QACD,OAAO,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,CAAA;IACzC,CAAC;CACJ,CAAA;AAED,wBAAwB;AAExB,MAAM,CAAC,MAAM,GAAG,GAAa;IACzB,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,UAAU,EAAC,CAAC;IAC7B,KAAK;QACD,OAAO,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAA;IACnC,CAAC;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAa;IAC7B,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,cAAc,EAAC,CAAC;IACjC,KAAK;QACD,OAAO,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,CAAA;IACvC,CAAC;CACJ,CAAA"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Schema } from "prosemirror-model";
|
|
2
|
+
import { marks } from "prosemirror-schema-basic";
|
|
3
|
+
import { smallcaps, sub, sup, text } from "./common.js";
|
|
4
|
+
const doc = { content: "cslbib" };
|
|
5
|
+
const cslbib = {
|
|
6
|
+
content: "cslentry*",
|
|
7
|
+
parseDOM: [{ tag: "div.csl-bib-body" }],
|
|
8
|
+
toDOM() {
|
|
9
|
+
return [
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
class: "csl-bib-body"
|
|
13
|
+
},
|
|
14
|
+
0
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const cslentry = {
|
|
19
|
+
content: "block*",
|
|
20
|
+
parseDOM: [{ tag: "div.csl-entry" }],
|
|
21
|
+
toDOM() {
|
|
22
|
+
return [
|
|
23
|
+
"div",
|
|
24
|
+
{
|
|
25
|
+
class: "csl-entry"
|
|
26
|
+
},
|
|
27
|
+
0
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
// This block doesn't actually appear in the HTML output, but because the schema
|
|
32
|
+
// system doesn't allow for the mixing of inline and block content, it "imagines"
|
|
33
|
+
// that this block exists. This---rather than other blocks---is chosen, because
|
|
34
|
+
// it's the first in the list.
|
|
35
|
+
const cslinline = {
|
|
36
|
+
group: "block",
|
|
37
|
+
content: "text*",
|
|
38
|
+
marks: "_",
|
|
39
|
+
parseDOM: [{ tag: "div.csl-inline" }],
|
|
40
|
+
toDOM() {
|
|
41
|
+
return [
|
|
42
|
+
"div",
|
|
43
|
+
{
|
|
44
|
+
class: "csl-inline"
|
|
45
|
+
},
|
|
46
|
+
0
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const cslblock = {
|
|
51
|
+
group: "block",
|
|
52
|
+
content: "text*",
|
|
53
|
+
marks: "_",
|
|
54
|
+
parseDOM: [{ tag: "div.csl-block" }],
|
|
55
|
+
toDOM() {
|
|
56
|
+
return [
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
class: "csl-block"
|
|
60
|
+
},
|
|
61
|
+
0
|
|
62
|
+
];
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const cslleftmargin = {
|
|
66
|
+
group: "block",
|
|
67
|
+
content: "text*",
|
|
68
|
+
marks: "_",
|
|
69
|
+
parseDOM: [{ tag: "div.csl-left-margin" }],
|
|
70
|
+
toDOM() {
|
|
71
|
+
return [
|
|
72
|
+
"div",
|
|
73
|
+
{
|
|
74
|
+
class: "csl-left-margin"
|
|
75
|
+
},
|
|
76
|
+
0
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const cslrightinline = {
|
|
81
|
+
group: "block",
|
|
82
|
+
content: "text*",
|
|
83
|
+
marks: "_",
|
|
84
|
+
parseDOM: [{ tag: "div.csl-right-inline" }],
|
|
85
|
+
toDOM() {
|
|
86
|
+
return [
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
class: "csl-right-inline"
|
|
90
|
+
},
|
|
91
|
+
0
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
const cslindent = {
|
|
96
|
+
group: "block",
|
|
97
|
+
content: "text*",
|
|
98
|
+
marks: "_",
|
|
99
|
+
parseDOM: [{ tag: "div.csl-indent" }],
|
|
100
|
+
toDOM() {
|
|
101
|
+
return [
|
|
102
|
+
"div",
|
|
103
|
+
{
|
|
104
|
+
class: "csl-indent"
|
|
105
|
+
},
|
|
106
|
+
0
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
// A schema to express the citeproc HTML bibliography output
|
|
111
|
+
export const cslBibSchema = new Schema({
|
|
112
|
+
nodes: {
|
|
113
|
+
doc,
|
|
114
|
+
cslbib,
|
|
115
|
+
cslentry,
|
|
116
|
+
cslinline,
|
|
117
|
+
cslblock,
|
|
118
|
+
cslleftmargin,
|
|
119
|
+
cslrightinline,
|
|
120
|
+
cslindent,
|
|
121
|
+
text
|
|
122
|
+
},
|
|
123
|
+
marks: {
|
|
124
|
+
em: marks.em,
|
|
125
|
+
strong: marks.strong,
|
|
126
|
+
smallcaps,
|
|
127
|
+
sup,
|
|
128
|
+
sub
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=csl_bib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csl_bib.js","sourceRoot":"","sources":["../../src/schema/csl_bib.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/literal.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { url, enquote, literal, smallcaps, sub, sup, text, variable } from "@fiduswriter
|
|
1
|
+
import { url, enquote, literal, smallcaps, sub, sup, text, variable } from "@fiduswriter./common.js";
|
|
2
2
|
import { Schema } from "prosemirror-model";
|
|
3
3
|
import { marks } from "prosemirror-schema-basic";
|
|
4
4
|
const doc = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/schema/literal.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../src/schema/literal.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC;IAChC,KAAK,EAAE;QACH,GAAG;QACH,OAAO;QACP,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { url, enquote, smallcaps, sub, sup, text, variable } from "@fiduswriter
|
|
1
|
+
import { url, enquote, smallcaps, sub, sup, text, variable } from "@fiduswriter./common.js";
|
|
2
2
|
import { Schema } from "prosemirror-model";
|
|
3
3
|
import { marks } from "prosemirror-schema-basic";
|
|
4
4
|
const longliteral = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal_long.js","sourceRoot":"","sources":["../../src/schema/literal_long.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"literal_long.js","sourceRoot":"","sources":["../../src/schema/literal_long.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,WAAW,GAAG;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,kBAAkB,EAAC,CAAC;IACrC,KAAK,CAAC,KAAK;QACP,OAAO;YACH,KAAK;YACL;gBACI,KAAK,EAAE,cAAc;aACxB;YACD,CAAC;SACJ,CAAA;IACL,CAAC;CACJ,CAAA;AAED,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,aAAa;CACzB,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC;IACpC,KAAK,EAAE;QACH,GAAG;QACH,WAAW;QACX,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
package/dist/schema/title.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { url, enquote, literal, smallcaps, sub, sup, text, variable } from "@fiduswriter
|
|
1
|
+
import { url, enquote, literal, smallcaps, sub, sup, text, variable } from "@fiduswriter./common.js";
|
|
2
2
|
import { Schema } from "prosemirror-model";
|
|
3
3
|
import { marks } from "prosemirror-schema-basic";
|
|
4
4
|
const nocase = {
|
package/dist/schema/title.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/schema/title.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/schema/title.js"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,OAAO,EACP,OAAO,EACP,SAAS,EACT,GAAG,EACH,GAAG,EACH,IAAI,EACJ,QAAQ,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAA;AAE9C,MAAM,MAAM,GAAG;IACX,QAAQ,EAAE,CAAC,EAAC,GAAG,EAAE,aAAa,EAAC,CAAC;IAChC,KAAK;QACD,OAAO,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAA;IACtC,CAAC;CACJ,CAAA;AAED,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC;IAClC,KAAK,EAAE;QACH,GAAG;QACH,OAAO;QACP,IAAI;QACJ,QAAQ;KACX;IACD,KAAK,EAAE;QACH,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG;QACH,GAAG;QACH,GAAG;KACN;CACJ,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiduswriter/bibliography-manager",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Fidus Writer bibliography manager",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,10 +38,11 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@fiduswriter/common": "^0.1.3",
|
|
41
|
-
"@fiduswriter/document": "^0.2.17",
|
|
42
41
|
"bibliojson": "^4.0.0",
|
|
43
42
|
"fix-utf8": "2.0.1",
|
|
44
43
|
"fwtoolkit": "^0.1.4",
|
|
44
|
+
"prosemirror-model": "^1.25.0",
|
|
45
|
+
"prosemirror-schema-basic": "^1.2.4",
|
|
45
46
|
"tokenfield": "^1.2.2"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
package/src/export/index.js
CHANGED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type {MarkSpec, NodeSpec} from "prosemirror-model"
|
|
2
|
+
|
|
3
|
+
export const text: NodeSpec = {
|
|
4
|
+
group: "inline"
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const literal: NodeSpec = {
|
|
8
|
+
content: "inline*",
|
|
9
|
+
marks: "_",
|
|
10
|
+
parseDOM: [{tag: "div.literal"}],
|
|
11
|
+
toDOM() {
|
|
12
|
+
return [
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
class: "literal"
|
|
16
|
+
},
|
|
17
|
+
0
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const variable: NodeSpec = {
|
|
23
|
+
inline: true,
|
|
24
|
+
group: "inline",
|
|
25
|
+
attrs: {
|
|
26
|
+
variable: {default: ""}
|
|
27
|
+
},
|
|
28
|
+
parseDOM: [
|
|
29
|
+
{
|
|
30
|
+
tag: "span[data-variable]",
|
|
31
|
+
getAttrs(dom) {
|
|
32
|
+
const element = dom as Element
|
|
33
|
+
return {
|
|
34
|
+
variable: element.getAttribute("data-variable")
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
toDOM(node) {
|
|
40
|
+
return [
|
|
41
|
+
"span",
|
|
42
|
+
{"data-variable": node.attrs.variable as string},
|
|
43
|
+
node.attrs.variable as string
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export const sup: MarkSpec = {
|
|
49
|
+
parseDOM: [
|
|
50
|
+
{tag: "sup"},
|
|
51
|
+
{style: "vertical-align", getAttrs: value => value == "super" && null}
|
|
52
|
+
],
|
|
53
|
+
toDOM() {
|
|
54
|
+
return ["sup"]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export const sub: MarkSpec = {
|
|
59
|
+
parseDOM: [
|
|
60
|
+
{tag: "sub"},
|
|
61
|
+
{style: "vertical-align", getAttrs: value => value == "sub" && null}
|
|
62
|
+
],
|
|
63
|
+
toDOM() {
|
|
64
|
+
return ["sub"]
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export const smallcaps: MarkSpec = {
|
|
69
|
+
parseDOM: [
|
|
70
|
+
{tag: "span.smallcaps"},
|
|
71
|
+
{
|
|
72
|
+
style: "font-variant",
|
|
73
|
+
getAttrs: value => value == "small-caps" && null
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
toDOM() {
|
|
77
|
+
return ["span", {class: "smallcaps"}]
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// Currently unsupported
|
|
82
|
+
|
|
83
|
+
export const url: MarkSpec = {
|
|
84
|
+
parseDOM: [{tag: "span.url"}],
|
|
85
|
+
toDOM() {
|
|
86
|
+
return ["span", {class: "url"}]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export const enquote: MarkSpec = {
|
|
91
|
+
parseDOM: [{tag: "span.enquote"}],
|
|
92
|
+
toDOM() {
|
|
93
|
+
return ["span", {class: "enquote"}]
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import {Schema} from "prosemirror-model"
|
|
2
|
+
import {marks} from "prosemirror-schema-basic"
|
|
3
|
+
|
|
4
|
+
import {smallcaps, sub, sup, text} from "./common.js"
|
|
5
|
+
|
|
6
|
+
const doc: import("prosemirror-model").NodeSpec = {content: "cslbib"}
|
|
7
|
+
|
|
8
|
+
const cslbib: import("prosemirror-model").NodeSpec = {
|
|
9
|
+
content: "cslentry*",
|
|
10
|
+
parseDOM: [{tag: "div.csl-bib-body"}],
|
|
11
|
+
toDOM() {
|
|
12
|
+
return [
|
|
13
|
+
"div",
|
|
14
|
+
{
|
|
15
|
+
class: "csl-bib-body"
|
|
16
|
+
},
|
|
17
|
+
0
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const cslentry: import("prosemirror-model").NodeSpec = {
|
|
23
|
+
content: "block*",
|
|
24
|
+
parseDOM: [{tag: "div.csl-entry"}],
|
|
25
|
+
toDOM() {
|
|
26
|
+
return [
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
class: "csl-entry"
|
|
30
|
+
},
|
|
31
|
+
0
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// This block doesn't actually appear in the HTML output, but because the schema
|
|
37
|
+
// system doesn't allow for the mixing of inline and block content, it "imagines"
|
|
38
|
+
// that this block exists. This---rather than other blocks---is chosen, because
|
|
39
|
+
// it's the first in the list.
|
|
40
|
+
const cslinline: import("prosemirror-model").NodeSpec = {
|
|
41
|
+
group: "block",
|
|
42
|
+
content: "text*",
|
|
43
|
+
marks: "_",
|
|
44
|
+
parseDOM: [{tag: "div.csl-inline"}],
|
|
45
|
+
toDOM() {
|
|
46
|
+
return [
|
|
47
|
+
"div",
|
|
48
|
+
{
|
|
49
|
+
class: "csl-inline"
|
|
50
|
+
},
|
|
51
|
+
0
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const cslblock: import("prosemirror-model").NodeSpec = {
|
|
57
|
+
group: "block",
|
|
58
|
+
content: "text*",
|
|
59
|
+
marks: "_",
|
|
60
|
+
parseDOM: [{tag: "div.csl-block"}],
|
|
61
|
+
toDOM() {
|
|
62
|
+
return [
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
class: "csl-block"
|
|
66
|
+
},
|
|
67
|
+
0
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const cslleftmargin: import("prosemirror-model").NodeSpec = {
|
|
73
|
+
group: "block",
|
|
74
|
+
content: "text*",
|
|
75
|
+
marks: "_",
|
|
76
|
+
parseDOM: [{tag: "div.csl-left-margin"}],
|
|
77
|
+
toDOM() {
|
|
78
|
+
return [
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
class: "csl-left-margin"
|
|
82
|
+
},
|
|
83
|
+
0
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const cslrightinline: import("prosemirror-model").NodeSpec = {
|
|
89
|
+
group: "block",
|
|
90
|
+
content: "text*",
|
|
91
|
+
marks: "_",
|
|
92
|
+
parseDOM: [{tag: "div.csl-right-inline"}],
|
|
93
|
+
toDOM() {
|
|
94
|
+
return [
|
|
95
|
+
"div",
|
|
96
|
+
{
|
|
97
|
+
class: "csl-right-inline"
|
|
98
|
+
},
|
|
99
|
+
0
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const cslindent: import("prosemirror-model").NodeSpec = {
|
|
105
|
+
group: "block",
|
|
106
|
+
content: "text*",
|
|
107
|
+
marks: "_",
|
|
108
|
+
parseDOM: [{tag: "div.csl-indent"}],
|
|
109
|
+
toDOM() {
|
|
110
|
+
return [
|
|
111
|
+
"div",
|
|
112
|
+
{
|
|
113
|
+
class: "csl-indent"
|
|
114
|
+
},
|
|
115
|
+
0
|
|
116
|
+
]
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// A schema to express the citeproc HTML bibliography output
|
|
121
|
+
export const cslBibSchema = new Schema({
|
|
122
|
+
nodes: {
|
|
123
|
+
doc,
|
|
124
|
+
cslbib,
|
|
125
|
+
cslentry,
|
|
126
|
+
cslinline,
|
|
127
|
+
cslblock,
|
|
128
|
+
cslleftmargin,
|
|
129
|
+
cslrightinline,
|
|
130
|
+
cslindent,
|
|
131
|
+
text
|
|
132
|
+
},
|
|
133
|
+
marks: {
|
|
134
|
+
em: marks.em,
|
|
135
|
+
strong: marks.strong,
|
|
136
|
+
smallcaps,
|
|
137
|
+
sup,
|
|
138
|
+
sub
|
|
139
|
+
}
|
|
140
|
+
})
|
package/src/schema/literal.js
CHANGED