Added support for footnotes and fixed category AJAX post

This commit is contained in:
Leon Mika 2026-03-29 10:45:45 +11:00
parent 023574aac6
commit 9b20665d11
4 changed files with 18 additions and 2 deletions

View file

@ -60,6 +60,16 @@ export default class PosteditController extends Controller {
try {
const formData = new FormData(this.element);
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'};
const response = await fetch(this.element.getAttribute("action"), {

View file

@ -22,7 +22,7 @@ type Renderer struct {
func NewRendererForUI() *Renderer {
mdParser := goldmark.New(
goldmark.WithExtensions(extension.GFM),
goldmark.WithExtensions(extension.GFM, extension.Footnote),
goldmark.WithRendererOptions(
gm_html.WithUnsafe(),
),
@ -48,7 +48,7 @@ func NewRendererForUI() *Renderer {
func NewRendererForSite() *Renderer {
mdParser := goldmark.New(
goldmark.WithExtensions(extension.GFM),
goldmark.WithExtensions(extension.GFM, extension.Footnote),
goldmark.WithParserOptions(
parser.WithAutoHeadingID(),
),

View file

@ -49,6 +49,7 @@ func New(site pubmodel.Site, opts Options) (*Builder, error) {
mdRenderer: markdown.NewRendererForSite(),
postMDProcessors: []postMDProcessor{
uploadAbsoluteURL,
removeFootnoteHRs,
},
}, nil
}

View file

@ -35,3 +35,8 @@ func uploadAbsoluteURL(site pubmodel.Site, dom *goquery.Document) error {
})
return nil
}
func removeFootnoteHRs(site pubmodel.Site, dom *goquery.Document) error {
dom.Find("div.footnotes > hr").Remove()
return nil
}