getpelican / pelican

Static site generator that supports Markdown and reST syntax. Powered by Python.
https://getpelican.com
GNU Affero General Public License v3.0
12.55k stars 1.81k forks source link

Atom feeds only contain <summary>, not <content> in DNF package install #2202

Closed disk0x closed 7 years ago

disk0x commented 7 years ago

Despite what the documentation and replies to other closed bug reports say, Atom feeds generated by the latest release of Pelican only display the summary field (which in my case is an automatically generated truncated version of the post).

Inside the xml files, there are no content tags.


Config

FEED_ALL_ATOM = 'feeds/atom.xml' FEED_MAX_ITEMS = 20 FEED_RSS = 'feeds/rss.xml' RSS_FEED_SUMMARY_ONLY = False

justinmayer commented 7 years ago

Can't replicate that behavior. As is mentioned in our docs, we'll need a lot more info in order to even consider looking into this.

disk0x commented 7 years ago

The issue appears in a clean environment, created with pelican-quickstart

Is there any other debug info I can provide?

justinmayer commented 7 years ago

I imagine the problem arises with the distro packaging (as it often does) and suggest seeing if you can replicate the problem within a pip-installed context. One possibility is that the DNF package is associated with an older, outdated version of feedgenerator.

justinmayer commented 7 years ago

Just used the linked config file and test post on freshly pip-installed Pelican v3.7.1 (mkvirtualenv pelican; pip install pelican markdown; pelican content), and I cannot reproduce the described behavior: the content tag is present in the Atom feed, as expected.

As I said, I believe using the distro's packaging system to install Pelican to be the cause of the problem you are experiencing. Please comment here with any additional information. I'm happy to re-open this issue if warranted.

disk0x commented 7 years ago

You are correct. The version from pip generates Atom feeds with full content. I will take the bug report to Fedora.

Assuming that feedgenerator is provided by django in Fedora's package, this is the distro-provided version

python-django --> python2-django-1.10.7-1.fc26.noarch

justinmayer commented 7 years ago

I don't know what to make of that. Pelican 3.7.1 requires feedgenerator 1.9+, as shown in Pelican's setup.py file.

disk0x commented 7 years ago

I reported this over at Fedora's bugzilla.

disk0x commented 7 years ago

As a side-question, is pelican's feedgenerator.py just a standalone package for django's feedgenerator.py, or is it a fork?

Asking to see if Fedora should package pelican's version separately, or just update django's package.

justinmayer commented 7 years ago

Is pelican's feedgenerator.py just a standalone package for django's feedgenerator.py, or is it a fork?

Originally just a standalone package, but since then, it may have diverged from Django's bundled version.

disk0x commented 7 years ago

I will copy your comment over to Fedora's bugtracker then, I assume that's important information for the packager.

mrunge commented 7 years ago

would it be possible to use the version from upstream, I mean, the Django one?

I see, it is easier to fork your own version, but from a distro and collaboration perspective, I would rather either trying to fix upstreams feedgenerator or to make pelican use feedgenerator in such a way, that it produces correct output.

Jibec commented 7 years ago

Can we please fix this issue so we can unlock Fedora's situation? https://github.com/getpelican/feedgenerator/issues/10

thanks a lot for your help, I hope it's very easy to do ;)

justinmayer commented 7 years ago

@Jibec: As noted in the issue you linked to, I added the LICENSE file to the feedgenerator package manifest. I don't believe it has been made clear how that relates to this issue, but it's done, so I imagine I don't really need to understand it. (^_^)

justinmayer commented 7 years ago

@mrunge said:

Would it be possible to use the version from upstream, I mean, the Django one?

I see, it is easier to fork your own version, but from a distro and collaboration perspective, I would rather either trying to fix upstreams feedgenerator or to make pelican use feedgenerator in such a way, that it produces correct output.

Pelican already uses feedgenerator in a way that produces correct output.

Pelican needed, and still needs, a standalone Pip-installable package for feedgenerator. No such package existed, so we created one years ago. When doing so, we needed a source code repository from which to build said package — a repo that isn't burdened by all the rest of Django, none of which applies to Pelican. That's why feedgenerator exists.

When issues came up that needed fixing for Pelican's purposes, we fixed them in feedgenerator. As is the nature of open source, anyone is welcome to submit pull requests containing those fixes to Django's repository.

Hopefully that clears up some of the history. I'm open to suggestions and would like to help if I can, but so far I have not yet heard anything sensible/actionable from the perspective of Pelican's project management.

Jibec commented 7 years ago

Thanks for this, Fedora community is really careful about licensing, no license, no package. I hope this will unlock our issue, whatever how they handle it.