Tools for building a new website

My motivation for building a website was simple. I wanted to collect and organize important things from the last several years in one place for future reference. Something like an online portfolio of what I have been up to. Last I dabbled in HTML to create a website, I was a student at Clemson and was able to use my university servers for hosting my website. Apart from photos and other things, I remember my website had a dedicated section devoted to Tolkien’s Silmarillion. I also used the website for managing the classes I taught at Clemson, posting homework, test solutions and things of that sort.

Has a lot changed in 10 years? Looks like HTML5 is the latest and greatest, along with CSS3. As I am slowly discovering for myself, this adds several great features to help design good web pages. A book I particularly liked and have been using as a guide is HTML and CSS: Design and Build Websites by Jon Duckett.

One of the new HTML5 feature I’ve been using quite a lot is the <video> tag. Makes adding videos amazingly easy. I’m currently making movies using QuickTime (.MOV) and then converting them to .MP4 using Miro video converter. All my videos now play fine on Chrome and Safari. Need further testing to add support, if required, for Firefox and iOS devices.

Another useful feature I absolutely wanted was syntax highlighting for C/C++ code. One way to get this feature on your webpage is via prism (http://prismjs.com/). This essentially supplies a .css file and a JavaScript file that you link to in your HTML file. Once you do this, simply wrap your code within <pre><code class=”lang-cpp”> and </code></pre>.

Finally, the question of where to host the site. I decided to go with iPage and it’s been a great experience so far.  So to summarize all the things needed to build a new website from scratch:

  • iPage
  • A good reference book for HTML and CSS
  • QuickTime for recording video from the screen
  • Miro video converter
  • Prism for syntax highlighting of C/C++ code
  • Lots of time and patience