Added support for footnotes and fixed category AJAX post
This commit is contained in:
parent
023574aac6
commit
9b20665d11
|
|
@ -60,6 +60,16 @@ export default class PosteditController extends Controller {
|
||||||
try {
|
try {
|
||||||
const formData = new FormData(this.element);
|
const formData = new FormData(this.element);
|
||||||
let data = Object.fromEntries(formData.entries());
|
let data = Object.fromEntries(formData.entries());
|
||||||
|
|
||||||
|
// Special handling for categories
|
||||||
|
let categoryIDs = [];
|
||||||
|
for (let i of formData.entries()) {
|
||||||
|
if (i[0] === "category_ids") {
|
||||||
|
categoryIDs.push(parseInt(i[1]))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
data["category_ids"] = categoryIDs;
|
||||||
data = {...data, action: action || 'save'};
|
data = {...data, action: action || 'save'};
|
||||||
|
|
||||||
const response = await fetch(this.element.getAttribute("action"), {
|
const response = await fetch(this.element.getAttribute("action"), {
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ type Renderer struct {
|
||||||
|
|
||||||
func NewRendererForUI() *Renderer {
|
func NewRendererForUI() *Renderer {
|
||||||
mdParser := goldmark.New(
|
mdParser := goldmark.New(
|
||||||
goldmark.WithExtensions(extension.GFM),
|
goldmark.WithExtensions(extension.GFM, extension.Footnote),
|
||||||
goldmark.WithRendererOptions(
|
goldmark.WithRendererOptions(
|
||||||
gm_html.WithUnsafe(),
|
gm_html.WithUnsafe(),
|
||||||
),
|
),
|
||||||
|
|
@ -48,7 +48,7 @@ func NewRendererForUI() *Renderer {
|
||||||
|
|
||||||
func NewRendererForSite() *Renderer {
|
func NewRendererForSite() *Renderer {
|
||||||
mdParser := goldmark.New(
|
mdParser := goldmark.New(
|
||||||
goldmark.WithExtensions(extension.GFM),
|
goldmark.WithExtensions(extension.GFM, extension.Footnote),
|
||||||
goldmark.WithParserOptions(
|
goldmark.WithParserOptions(
|
||||||
parser.WithAutoHeadingID(),
|
parser.WithAutoHeadingID(),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@ func New(site pubmodel.Site, opts Options) (*Builder, error) {
|
||||||
mdRenderer: markdown.NewRendererForSite(),
|
mdRenderer: markdown.NewRendererForSite(),
|
||||||
postMDProcessors: []postMDProcessor{
|
postMDProcessors: []postMDProcessor{
|
||||||
uploadAbsoluteURL,
|
uploadAbsoluteURL,
|
||||||
|
removeFootnoteHRs,
|
||||||
},
|
},
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,3 +35,8 @@ func uploadAbsoluteURL(site pubmodel.Site, dom *goquery.Document) error {
|
||||||
})
|
})
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func removeFootnoteHRs(site pubmodel.Site, dom *goquery.Document) error {
|
||||||
|
dom.Find("div.footnotes > hr").Remove()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue