Got this question recently.
First, civilized folks don’t edit
HTML any more. That’s so 1999.
have a spectrum of choices if you want to try and edit HTML.
text editors. Good ones do HTML syntax coloring. This is the
hardy, forge-through-the-forest way to go. Raw text editing. Like when
we were kids. http://en.wikipedia.org/wiki/List_of_text_editors.
In Windows world, I use Notepad++.
Note that WYSIWYG HTML Editing is more trouble than you’d believe
possible. It’s always fun for the first few months, but then you try to
do something that confuses the GUI interface and you wind up with an
entire paragraph in italics and can’t figure out why. Or you want to
move a punctuation outside a link and discover that the editor just
can’t figure out where the tag is supposed to fall and
puts everything inside it. Most of us do not try to use WYSIWYG HTML
editors because it slowly becomes annoying once you get beyond the
- IDE’s. To produce HTML sensibly, you
have to also write .CSS style sheets, and you often have a number of
related pages. Essentially, a “project”. An IDE is usually a better
choice than an editor. All the good IDE’s are free: Eclipse, NetBeans
and Komodo Edit. I use ActiveState Komodo Edit heavily.
NetBeans or Komodo Edit seems like overkill, it will (eventually) pay
out as you move into developing more than static HTML pages.
I use reStructuredText
of HTML. I use the DocUtils
which has an rst2html.py
tool that converts my RST into HTML
for me. I also use rst2s5.py
to create power-point-like
presentations from my reStructuredText. If you want to see the power of
RST, you can look at my personal site
and my books
and. 100% RST. No manual HTML anywhere. I use Sphinx
to create really complex
docments like the books.
tasks, I use HTML templates and simple scripts to process data and
create static HTML from the data. You’d be surprised how effective this
is. Few things require up-to-the-second web applications. Many things
can be done as nightly batch programs that emit static HTML and FTP the
HTML up to the web page. No PHP.
For web development, PHP is
fine. It will – before long – create holes in your head because it’s so
badly thought out. But for getting started, it’s fun. Real companies
(like Google) don’t waste their time with it because of the numerous
problems PHP causes.
“Problems?” you say.
PHP’s world view (HTML + code
in a single package) is a terrible architecture. It’s horribly slow
and leads to very muddled, inflexible designs. Everyone who tries to
make a global change to their site's “look and feel” finds that PHP is
inflexible and a regrettable platform. Even folks who simply want
consistency among several different pages within their site find that
the PHP world view is more headache than solution.
it’s fun when you first build a site that works.
Generally, most folks find that a “framework”
is absolutely essential for debugging, consistency and separating
Content, Processing and Presentation. Even a simple Blog or Forum or
Visitor Registration has separate Content, Processing and Presentation;
PHP muddles these. A framework can help unmuddle them.
as framework and
Python as programming language. Your hosting site may not support
this, in which case you may be in trouble.
Much cleaner. Proper unit testing. Real reusable components across
applications. An ORM rather than a just a series of functional query
an IDE to edit your pages. Komodo Edit.
- Consider using
RST and tools instead of raw HTML. Installing Python + DocUtils and
using rst2html.py is easier than learning HTML.
- Try to avoid
PHP’s numerous pitfalls; ideally by avoiding PHP. Use Django + Python
and create a real application that clearly separates the content (data
model) from processing (view functions) from presentation (HTML