getnikola / plugins

Extra plugins for Nikola
https://plugins.getnikola.com/
MIT License
57 stars 93 forks source link

[import_feed] Path/URL bugs in import_feed plugin #389

Open aigarius opened 3 years ago

aigarius commented 3 years ago
  1. Redirections are created before the page import happens, so the redirection map is always empty and no redirects are written into the config file

  2. Folder structure of the posts is not re-created, so everything is dumped in the same folder (requiring redirections)

  3. Redirections construct a wrong destination URL if the SITE_URL from the feed contains path elements (the path part gets included twice)

IMHO, when importing a RSS with SITE_URL set to "http://example.com/blog/" and posts like "http://example.com/blog/2011/04/03/testing-this-engine/" the output file should be "posts/2011/04/03/testing-this-engine/indext.html" with no redirect required. With SITE_URL set to "http://example.com/" and BASE_URL set to "http://example.com/blog/"

If slugifying each path element of the target name produces a different outcome, only then a redirect should be created from "2011/04/03/testing-utf-8-in-title-ā/" to "2011/04/03/testing-utf-8-in-title-a/index.html" and file be created as "posts/2011/04/03/testing-utf-8-in-title-a/index.html"

aigarius commented 3 years ago

For reference I was trying to import this feed

ralsina commented 3 years ago

Yeah, that's really buggy :-(

aigarius commented 3 years ago

Pushed some code that worked for my case, not 100% sure it will work in all use cases. But given the above feed and specifying "blog" as the new top folder option, I got very reasonable output in both files and URLs (no redirects required).