3 ms·
HTML was invented as an SGML vocabulary, and SGML and thus also XML has entities/text macros you can use to reference shared documents or fragments such as shar
by tannhaeuser 10mo ago
HTML was invented as an SGML vocabulary, and SGML and thus also XML has entities/text macros you can use to reference shared documents or fragments such as shared headers, footers, and site nav, among other things.
- 1718627440 10mo agoNot sure, why you are getting downvoted, as that was pretty much the case before HTML5.
- duskwuff 10mo agoNot one of the downvotes, but: as far as I'm aware, there was never any syntax which could be used for HTML transclusion in the browser. There may have been SGML or XML syntaxes proposed for it, but none of them were actually implemented in this context.
- tannhaeuser 10mo agoYou can use entities to create static sites in advance, or by including support in the browser. sgmljs can do both, and simply using shared headers/footers for static site generation from markdown and other SGML partials is explained in [1]. [1]: https://sgmljs.sgml.net/docs/producing-html-tutorial/producing-html-tutorial.html https://sgmljs.sgml.net/docs/producing-html-tutorial/produci...
- duskwuff 10mo agoI think you're missing the point here. None of these things were available to users writing HTML for web browsers in the 1990s.
- tannhaeuser 10mo agoSP/OpenSP and older SGML tools were most certainly available and used to assemble HTML docs from command line apps in the 1990s for complex websites with lots of content such as software documentation. The editor of the HyTime spec with its strong focus on adapting and transforming to multimedia and web was working with a training/education company. W3C's long-term validator service ran off SP.
- shakna 10mo agoThe original SGML standard in '86 might not have had Markdown, but it did have partials and includes. Also framesets and frames.
- ndriscoll 10mo agoXSLT was implemented in every browser like 25 years ago and has the ability to include other document templates/fragments client-side. It's exactly the functionality everyone always says is missing.