I have a feeling that their validator requires zero white space between the content and the html tag.
The error:
Invalid HTML: html needs to be the first start tag.
The context:
<content type="html">
<html><body>
Sure looks like the first tag is html there.
Conversation
The tag is encoded because this is embedded an html document in an XML document.
1
TFW the validator DISAGREES w/ the standard.
The validator says:
Invalid HTML: html needs to be the first start tag.
The standard says:
The HTML markup SHOULD be such that it could validly appear directly within an HTML <DIV> element. Atom
tools.ietf.org/html/rfc4287#s point 2.
1
1
A little more playing around with this, and it appears that this error message occurs when it cannot validate the html. And by validate the html, I mean, require an HTML 4.01 document, and not allow arbitrary structural elements like HTML 5 allows.
2
Replying to
It's nicer with the "xhtml" content type because it gets embedded as XML rather than escaping an HTML string. It was part of what made Atom nicer than RSS but then XHTML died.
There's still an XML serialization of modern HTML and it works fine with Atom:
html.spec.whatwg.org/multipage/xhtm
1
1
Replying to
Yep, agree about XHTML. I used it w/ the divmod nevow framework for Twisted, and it's template engine.
Dealing w/ the fact that the lxml HTML parser puts an html/body tags w/o asking me. Trying to figure out how to dump them.
1
Replying to
We use this little script to generate the releases feed for the GrapheneOS site: github.com/GrapheneOS/gra. It'll get extended to make a global news feed with the releases incorporated.
Still need to choose a reasonable template engine to reuse templates. Too many bad experiences.
1
2
I got tired of dealing with static site generators so I've been taking a break from dealing with them. Need a decent static template system but I've been having trouble choosing.
Prefer scripting validation / linting and minification / cache busting / static compression myself.
2
1
Replying to
Yeah, I have all the same issues. Finding code that "parses" html via:
img = text.find("<img", pos)
is always a bit scary. Do need to add validation/linting to the work flow, but at the same time, isn't that what a static site generator is suppose to do/be? ;p
1
I've now put, what will be the blog source up at: funkthat.com/gitea/jmg/blog/
It's using hyde, which using jinja2 for it's template engine. It's adequate, but having to manually escape things is annoying.
1
Replying to
Yeah, I'm looking for a good template engine. I don't want to use a site generator partly because I want to be able to choose the best tool for each task.
Had such bad experiences with Jekyll and other tools that I'm reluctant to use anything at all opinionated + multi-purpose.
Replying to
Yeah, hyde is just a wrapper around the template engine and doesn't deal w/ the other parts of linting/mimification. It has a bit more smarts for collecting meta information about posts which makes it nice.
As with static site generators, targeting a blog, and not other sites.
1
Have no intention of having a blog but rather articles that are maintained long-term and potentially replaced / retired. Will likely have news, but as a single page.
Many of those static site generators are very focused on publishing a single blog with a basic site around it.
1
1
Replying to
Yeah, the metadata that hyde uses can help w/ this. Example is: funkthat.com/gitea/jmg/blog
The "listable: true" says to include it in the blog, and it applies to all siblings and descendant. It can be overridden in a particular post, i.e. for creating a draft, or expiring it.
1
Show replies

