4 ms·
Don’t Make Me Write HTML
- jerryji 18y agokillerweb's comment at DZone is pretty insightful -- http://www.dzone.com/links/dont_make_me_write_html.html http://www.dzone.com/links/dont_make_me_write_html.html
- sketerpot 18y agoDon't make me click past an advertisement. I mean, what the hell? Since when did super-obtrusive advertising not alienate people? (It doesn't show up all the time, so you may not have seen it.)
- budwin 18y agoI wouldn't feel comfortable using something like markdown until I had a firm grasp of how it works and the kind of html it writes. And at that point, I guess I might as well write good ole html... Unless browsers _universally_ supported a new better language, I'd hate to have to think of browser nuance in two different markups...
- psadauskas 18y agoI use Markdown when I'm writing content-heavy prose, like wiki pages or READMEs. When I need more control over the exact classes and tags, HAML is a good alternative to HTML. In the case of Markdown prose, I don't /care/ what kind of HTML it writes. Headers, paragraphs, links, all taken care of. I write text, it gets run automatically through a parser/html generator (I use maruku), and I don't think about it. HAML is great for templates & layouts, when I care about DIVs and ids and classes, without being the wordy, ugly HTML itself.
- pxlpshr 18y agoI agreed completely with the first comment: Please don’t make me write in any of these simplified markup languages, either. And, really please, don’t ask me to embed code in the language, or one of these languages in code.
- endtwist 18y agoOh please. The time you spend learning HAML or Markdown (and all their potential intricacies) could be better spent learning to write clean HTML. I'm sure that both of those "alternatives" have their own quirks that must be worked around, not to mention the fact that you don't know exactly what HTML the parsers will spit out (yes, you can learn the output, I suppose, but why?). I can see these tools being useful in certain circumstances, such as a way to provide HTML-esque markup somewhere where you don't want to bother cleaning up someone else's potentially malicious HTML (a wiki, a comment form, etc.). However, for building actual websites, just do it the right way. Sure, these alternatives are nice in that you can avoid the scary HTML, but in the end it is all HTML anyway -- so why not learn it from the start and produce better code than what a parser will spit out based on your abstraction?
- huhtenberg 18y agoYou are completely missing the point of HAML. HAML is for people who know and use raw HTML, but who would rather not spend time on typing closing tags and all other syntatic sugar and line noise. HAML allows writing pages using leaner and more concise markup, all the while improving its readability.
- davidw 18y ago> rather not spend time on typing closing tags Isn't that what Emacs is for?
- RossM 18y agoVim! Although I must admit you've got a point there, it's a bit like Atwood's indentation piece yesterday, why bother fussing over that when your editor can sort it for you?
- davidw 18y agoThe point is that HTML is a standard format that many tools and people are familiar with. HAML is not. While HAML might be more succinct, there is a tradeoff being made that is probably not appropriate for all situations.
- thomaspaine 18y agoI'm not a big fan of using markdown for creating HTML, but using a CSS compiler has definitely been helpful for me in writing CSS. Nested styles makes your code much more maintainable, and makes inheritance easier. Plus, variables and basic arithmetic operations are nice. CleverCSS is a CSS compiler pretty similar to Sass, which I tend to prefer for the simple reason that Sass requires my indents to be two spaces, and it doesn't matter in CleverCSS. The only problem is that it doesn't seem to be maintained anymore, and there are a couple of annoying bugs in the official release. I submitted patches but to no avail, so I'm hosting the patched code here: http://django-css.googlecode.com/files/CleverCSS-0.1.2.zip http://django-css.googlecode.com/files/CleverCSS-0.1.2.zip I was so pumped on CSS compilers that I wrote this so you can use them in your Django projects: http://django-css.googlecode.com http://django-css.googlecode.com
- raintrees 18y agoI guess I am the lazy one - I just use an IDE web designer in design view, then switch to code view as needed. Benefits from both worlds.
- adatta02 18y agoUse a WYSIWYG? I mean if you seriously can't wrap your head around HTML/CSS maybe you're in the wrong business...
- 10ren 18y agoThe closing tags of HTML and XML are a nuisance. In SGML (their common predecessor), named closing tags were optional (you used </>), but were deliberately made mandatory in HTML and XML, to improve readability of long documents. It was contentious at the time, and it still is. But we must at least accept the data points that both HTML and XML have been phenomenally successful, without knowing for sure whether this particular feature was for or against. One thing about dumb, regular, symmetrical formats is that their redundancy makes them less scary and easier to understand. Perhaps, this is accessibility is crucial for adoption. EDIT I guess indentation enables you to match up start/end tags even better than named close tags... and it's certainly become more familiar to developers since Python's success. But maybe not so good when you have many levels of indentation, and terrible if you want to insert/delete a nested element, because the indentation of the elements within it must also be changed.
- ubernostrum 18y agoI think you'd be surprised at just what you're allowed to omit in HTML. For example, the following document is valid HTML 4.01 Strict: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title></title> <p> The 'html', 'head' and 'body' elements -- opening and closing -- are inferred at the correct points by a compliant parser, as is the closing of the lone 'p' element. Once upon a time on my personal blog, I used minimal HTML 4.01 Strict (omitting tags and other bits of syntax whenever and wherever possible -- I had a Markdown fork that knew how to do this within the constraints of the spec); my one concession was a longer DOCTYPE declaration to deal with anything that didn't know how to resolve the public identifier. Browsers actually handled it just fine, but some other systems (in particular, OpenID autodiscovery) failed, because they weren't actually doing HTML parsing.
- 10ren 18y agoYou're right, I'd forgotten about omitting the closing </p>, but I think that's the only one (omitting a whole element - both open and close - is something different). Of course, in practice, most HTML parsers will do a wonderful job of interpreting malformed HTML.
- sven 18y agoThat is so funny: Programmers, that don't know what to do with their time, develop an api so the don't have to read documentation. Or programm a framework, or another abstraction layer on top of all the others or some meta-something to simplify the easy 80% of a job. Sadly, creating things totaly disregarding the environment seems to have so much more sexapeal than just using what's at hand.
- emilis_info 18y agoIs this link a recursive joke? All I got is a grey page with "Click here to skip this or wait 15 seconds.". The link does not work. I have JavaScript disabled with NoScript FireFox extension. Judging from the HTML code of the page it seems that the authors of linux-mag.com don't know how to use noscript or meta redirect tags.
- rjurney 18y agoI've spent so much time dealing with needlessly complex, over-engineered web applications who's primary architectural goal was to allow the primary developer to never code HTML that this article makes me sick. An HTML form is the simplest representation of a form's presentation you're going to get. Suck it up, use HTML templates.
- jyothi 18y agoIf it is basic listing table and the sort - Use Mac TextEdit and save as html or use the MS html editor. There are tools.
- ams1 18y agowhy not just use an editor that has shortcuts and automatically closes tags? textmate and others "write" a lot of the html for you.
- twopoint718 18y agoLately, I've been using Pandoc (http://johnmacfarlane.net/pandoc/ http://johnmacfarlane.net/pandoc/) which is a better markdown than markdown (uses a parser rather than regexes). It also knows how to convert between lots of different markups it can read LaTeX, HTML, reStructuredText and markdown. It can write that and many more. I use it to convert LaTeX into S5 presentations and HTML; very nice for giving talks.