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 { 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"), {

View file

@ -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(),
), ),

View file

@ -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
} }

View file

@ -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
}