I have to say the number of validation services on the web are nice these days.
Working on my blog, and it comes w/ an atom feed, but as I don't use it, I don't even know how to check it. Enter w3 org's service:
validator.w3.org/feed/
Conversation
After having some issues w/ a minor issue w/ the content, decided to put the blogger atom feed through the w3c validation service, and well, not very interoperable.
1
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.
1
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.
github.com/GrapheneOS/gra is for the validation / linting.
github.com/GrapheneOS/gra makes feed, minifies, renames CSS/JS with a hash for permanent caching (including for the nginx preload/push configuration) and does static compression with zopfli (very aggressive gzip) / brotli.
1
1
1
Since it works well enough, the renaming part just uses search and replace for the time being. Could be smarter... but doesn't matter for this.
It'll get a bit smarter when non-Chromium browsers support CSP hash-source for external scripts since we'll switch to that from 'self'.
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
Show replies

