How to Build a Maintainable Site using CushyCMS and Twitter

May 13th in Site Builds by Collis Ta'eed
Sometimes it seems there are as many CMS products out there as there are web developers. In this tutorial we're going to build a simple one-page site and then in less than 5 minutes, get it setup with a Twitter feed for daily updates and with CushyCMS for general content. If you haven't seen it, Cushy is a completely free and extremely simple to use product that's come on the market recently.
PG

Author: Collis Ta'eed

Hello! I'm a web and graphic designer who loves blogging, startups and everything about the web. You can find me on Twitter and I blog at The Netsetter

Demo and Source Code

The Brief!

Recently I came to the realisation that I should really have a personal site. I don't take design work, but it's nice to have a place to refer to when I write bio's and so on. Also a month or so ago I started using Twitter to put up my daily thoughts on business, the web and stuff. This seemed like a logical thing to stick on my personal page. Also it's important that the site be easy to manage so I don't let it get outta date. So you could say this was my brief.

First a Design

Before getting to the build I spent a few hours in Photoshop trying some ideas. I need something simple - I don't have time for anything else, professional - who knows who is going to visit, and nice looking - I do claim to be a designer right?

Anyhow here is my design. I used a nice vector illustration from iStock - always good for doing something quick that looks awesome! I used a really nice and free font - Colaborate Thin. And finally a nice orange-blue colour scheme that by a stroke of good fortune turned out to match my orange photo!

So I won't dwell on the design too much. If you click the image below you can get a large version of the JPG in case you want to follow along.

Step 1 - Cutting up Images

Looking at the design in Photoshop, it's clear there are a bunch of images I'm going to need. If this were a more complex design, I'd use Photoshop's Slice tool, but it's pretty simple, so I'll just crop the file and create a bunch of images - one for the table, one for all the titles, one for the "follow me" bubble, one for the nettuts image and one for the photo of my giant forehead! Here are the images I made:





Note I've only shown one title, but of course I actually made lots of those.

Step 2 - Planning the HTML

Next we plan our HTML layout. Very deliberately this site is going to be extremely easy to build. It's simply a sequence of blocks. Previously I've written about how to us Absolute Positioning to make a layout, this time we're going to use super simple Relative Positioning.

As you will recall when you place elements on a page they have a natural place they go to, relative to elements that came before. Because we're not using columns or really anything fancy in this design it's going to be perfect for using this regular postioning.

As a general rule, whenever you want to make your life easy in HTML, it's best to do things in blocks laid out horizontally. This is the easiest way to work with CSS and doesn't require much fiddling for browser compatibility. As soon as you start putting in columned layouts, things get a bit trickier. So we'll save that for another tutorial, on another project.

So anyhow the layout we'll use is something like this:

Main Heading

Section Heading
Div Block of Content

Section Heading
Div Block of Content

Section Heading
Div Block of Content

... and so on...

The best thing about this plan is that later on if we suddenly go "hey I wish I had my an extra block for favourite images", it's like no problemo! Just slip it in, use the same CSS classes and everything. This really is the simplest layout around, and with a nice design it can look really cool nonetheless!

Step 3 - Laying out the initial HTML

OK Create an index.html file and then here's my first stab at the HTML, it's not perfect and is missing the Twitter bit, but it's a good starting point and we can make a few adjustments later as we go:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>Collis Ta'eed - A Little About Me</title>
	<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
</head>

<body>
<div id="container">
	
    <h1><span>Hi I'm Collis, entrepreneur, blogger and designer.</span></h1>

	<img src="images/title_about_nm.jpg" alt="About Me" />
    <div id="about" class="content_box">
    
    	<a href=""><img src="images/photo_sm.jpg" class="photo" alt="Collis" /></a>
	    <p>After working as a web designer - both employed and freelance - I cofounded a startup with a few friends in 2006.  Our company, <a href="http://eden.cc">Eden</a>, has since grown and I've had the good fortune to work on lots of very exciting and interesting projects, everything from <a href="http://flashden.net">FlashDen</a> to <a href="http://blogactionday.org">Blog Action Day</a>. </p>

		<p>Thanks to the brilliant nature of the web, I'm currently living and working out of Hong Kong and travelling the world. You can find me online on <a href="http://twitter.com/collis">Twitter</a> where I post random thoughts, or you can send me an email from the form at the bottom of this page.  Thanks for stopping by!</p>
    
    </div>
    
    <img src="images/title_thoughts_nm.jpg" alt="Thoughts via Twitter" />
    <div id="thoughts" class="content_box">
    </div>
    
    
    <img src="images/title_project_nm.jpg" alt="Latest Projects" />
    <div id="project" class="content_box">
    
    	<a href="http://nettuts.com"><img src="images/project_nettuts.jpg" /></a>
        <a href="http://nettuts.com">NETTUTS</a>
		<p>In April Eden launched a sister site to PSDTUTS which Iíve been working on.  The site hosts web development and design tutorials.</p>
    
    </div>
    
    <img src="images/title_links_nm.jpg" alt="Links" />
    <div id="links" class="content_box">
    
    	<p>Some links to sites that I have a hand in:</p>
        
        <ul>
        	<li><a href="http://flashden.net">FlashDen</a> - Our main Eden project</li>
        	<li><a href="http://freelanceswitch.com/book">How to Be a Rockstar Freelancer</a> - A book I cowrote with my lovely wife</li>
        	<li><a href="http://freelanceswitch.com">FreelanceSwitch</a> - The highly successful blog on freelancing</li>
        	<li><a href="http://psdtuts.com">PSDTUTS</a> - The best photoshop blog around!</li>
        	<li><a href="http://blogactionday.org">Blog Action Day</a> - A nonprofit, annual event</li>
        </ul>  
                                                    
    </div>
    
    <img src="images/title_contact_nm.jpg" alt="Contact"/>
    <div id="contact" class="content_box">
    
    <p>I'm the first to admit that Iím not very good at answering all my emails, but I do my best and if you have need, then you can <a href="mailto:whoiscollis@gmail.com">email me</a>.</p>
    
    </div>
    
    
</div>
</body>
</html>

Things to note:

  • I've linked to a file called "style.css". This is where we'll place our styles later, so go ahead and create a file with that name.
  • The whole thing is inside a <div id="container">. I did this partly out of habit to be honest, but I'm going to use the <div> to place my background image. and to make sure I don't stray out of the 1000px width that I need to stay inside of for people on 1024px x 768px screens.
  • The "logo" heading is inside a <h1><span></span></h1>. Then we'll use the <span> part to make the text invisible and give it a background image so it looks like the design. This has benefits for SEO, and was a suggestion from the comments of a previous NETTUTS tutorial (thank you commenter whose name I've forgotten, but whose suggestion I've taken to using! )
  • Each section is an <img> title and then a <div class="content_box">. I've filled them in mostly with content, except for the Twitter box which we'll worry about in the next step.

Step 4 - Add a little CSS

Now we'll add a tiny bit of CSS to make the page look a bit more like where it's going to end up. Create your 'style.css' file and place these two definitions in:

body {
	background-color:#191e25;
	margin:0; padding:0;	
	color:#5f6874;
	font-family:"Lucida Grande", "Lucida Sans Unicode", Arial, Sans-serif;
	font-size:13px;
	line-height:21px;
}

#container {
	width:900px;
	padding:50px;
	padding-top:30px;
	background-image:url(images/Computer.jpg);
	background-repeat:no-repeat;
	background-position:top right;
}

A couple things to note:

  • I've set a font-family that uses a slightly unusual set of fonts. Lucida Grande is on most, if not all Macs, and Lucida Sans Unicode is on most PC's, so most people should see a nice Lucida typeface. If not they'll still see Arial or some default sans-serif. Either ways Lucida looks cool, and that's what I get to see :-)
  • I've used my <div id="container" to place that computer image in the background, located at the top and right, and set the width of my content area to be 900px + 50px left padding + 50px right padding = 1000px.
  • The 50px padding we've set in the container will effectively do most of our positioning for us on the page.

And here's how our page is looking now:

Step 5 - Now Let's Grab the Twitter

Now we add the content from Twitter. This is a great way of making the page feel really dynamic because I update my Twitter feed most days. Also it'll be a way of driving people over to add me to their Twitter networks, and then in the future when I launch new sites I can drive traffic to new places. So really it's all part of my not-particularly-devious plan.

So Twitter have made grabbing their feed really easy for us, just do the following:

  1. Log in to your Twitter account
  2. Click that Yellow box in the right hand bar that says "Put your updates on your site!"
  3. When prompted for MySpace, Blogger, etc, choose "Other"
  4. Select the HTML/JS option so we can style it up with CSS later
  5. Then set the Number of Updates (I set mine to 3) and copy + paste the code.

Here's the process in images!

And here's the code that Twitter gives us:

<div id="twitter_div">

<ul id="twitter_update_list"></ul></div>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/collis.json?callback=twitterCallback2&count=3"></script>

Note I deleted the <h2> bit that Twitter inserts in, because we don't need an extra title, we've already got one. Then it's also worth taking Twitter's advice and moving the two Javascript lines to the bottom of the page just before </body>. That way it loads in last. Because Twitter is notorious for its downtime, this will stop them from killing our site accidentally!

So by looking at the HTML they've given us, we can guess that the Javascript is probably going to fill in that <ul> with our tweets inside the <li>'s it'll place there. And that is exactly what it does do...

Step 6 - Add Google Analytics

Now at this point I will also add in some Javascript to hook my site up with Google Analytics. I think most web developers have heard of Analytics, but if by chance you've been living under a rock, I really recommend trying it out. It's free, and it's a powerful way to monitor your traffic. When you've gotten an account, you simple Create a New Website Profile, enter a domain name and you'll get in exchange some Javascript code to paste into your HTML documents. Easy peasy!

Step 7 - More CSS

Next we'll add a couple more styles that will get us even closer to our end product. They are:

a img { border:0 }

a { color:#cc5630; text-decoration:none; }
a:hover { color:#ffffff; }

.content_box {
	width:590px;
	margin-top:15px;
	margin-bottom:30px;
}

Here we are removing borders of linked images (i.e. the link to NETTUTS and the photo of me which will link to a bigger version), also we're setting the colour of our links on the page in general. Finally with the content_box style we set a width for our content blobs and using top and bottom margins separate them up on the page. Here's how our page looks now:

The next thing to do is to get some text-wrapping happening around our two images. The first thing to do is add an class to the images we want to wrap (the photo and the nettuts image). I didn't think to do this earlier, but can see I need to now. So we change the images to have:

<img src="images/photo_sm.jpg" class="photo" alt="Collis"/>

Then we add a quick style to make the float to the left with a bit of a margin, like this:

img.photo {
	float:left; margin-right:20px;
}

Unfortunately while nice and simple, this solution doesn't quite make the grade because my text block is too long, so it's wrapping ... booo! Never mind, easily fixed. We'll place that text in it's own block and make it float too.

So we'll adjust this content_box so the HTML code is now:


	<div id="about" class="content_box">
    
    	<a href="/images/collis.tif"><img src="images/photo_sm.jpg" class="photo" alt="Collis"/></a>
	    <div class="about_text">
            <p>After working as a web designer - both employed and freelance - I cofounded a startup with a few friends in 2006.  Our company, <a href="http://eden.cc">Eden</a>, has since grown and I've had the good fortune to work on lots of very exciting and interesting projects, everything from <a href="http://flashden.net">FlashDen</a> to <a href="http://blogactionday.org">Blog Action Day</a>. </p>
    
            <p>Thanks to the brilliant nature of the web, I'm currently living and working out of Hong Kong and travelling the world. You can find me online on <a href="http://twitter.com/collis">Twitter</a> where I post random thoughts, or you can send me an email from the form at the bottom of this page.  Thanks for stopping by!</p>
		</div>  
        
        <div class="clear"></div>
          
    </div>

So you can see I've wrapped the text in a <div class="about_text"></div> and then added a <div class="clear"></div> at the bottom. This extra <div> will be used to clear the floats, otherwise the floating layers would wind up going over the top of the content further down the page. So here is the additional CSS code to make this work:

.about_text {
	float:left; width:380px;

}
.clear { clear:both;}

We have to give our about_text block a width so it floats alongside the photo. Now that fixes our problem nicely. However if you look at the image shown below, it seems like there is a weird gap that's appearing between the top of our text block and the image.

Weird gaps are the worst to come across, because it can be really hard to figure out what's causing them. In our case here though I happen to remember that the <p> tag has a default top margin which if we get rid of will probably solve our issue. Here's the code to fix this:

	p { margin:0px; margin-bottom:20px; }

So now every paragraph will have no margin except 20px below it (spacing out the next paragraph element).

Step 8 - Replace our Heading

As I mentioned earlier we're going to use a bit of CSS to replace our <h1> tag at the top with the much nicer looking image so we get SEO benefits and nice looking title. If I was conscientious I would do this technique with all those subheadings too ... but I'm not!

So all we're going to do is use the <span> tag that we so cleverly placed earlier to set the text's display to none - making it hidden. Then we'll give the <h1> a height so the background image doesn't get cut off, and finally we'll set the image to appear. Here's the CSS code we need to make this happen:

h1 {
	background-image:url(images/title_main.jpg);
	background-repeat:no-repeat;
	height:60px;
	margin-bottom:50px;
}
h1 span {
	display:none;
}

Step 9 - Style the Twitter Area

Next we'll style our twitter box. But before we do, I realised I'd totally forgotten to place my "Follow Me on Twitter" image on the page (silly Collis!) No matter, I'll add it in now, here's the resulting HTML code for the area we are working on:

	<img src="images/title_thoughts_nm.jpg" alt="Thoughts via Twitter"/>
    <div id="thoughts" class="content_box">
    
    	<div id="twitter_div">
            <ul id="twitter_update_list"></ul>
            <a href="http://twitter.com/collis"><img src="images/twitter_nm.jpg" alt="Follow Me on Twitter" /></a>
        </div>
    
    </div>

Notice that the image appears inside the twitter_div. We're going to use one of the great benefits of CSS styling to position it so it sits outside of the box. Now if this were the old days and I was making this layout with a <table>, I would wind up using SOO much more code here, setting borders and lots of background images and stuff. Thank goodness for CSS. Here's our CSS code:

#twitter_div {
	border:1px solid #222830;
	background-color:#101318;
	position:relative;
	min-height:40px;
	padding:40px;
}
#twitter_div img {
	position:absolute;
	bottom:-22px;
	right:-14px;
}

This code turns our twitter_div box into a nice dark box and then positions the <img> inside. Notice that I've given the outer twitter_div a relative position. Then on the inside I've set the image to an absolute position. Absolute positioning always positions according to the last container with a relative position. If isn't contained inside any other HTML elements, or none of those elements have a relative position, then it defaults back to the whole browser window.

Because our twitter_div is relatively positioned though, the absolute position will be in relation to that <div>. So in other words top:0px, left:0px, would be the top-left of the twitter_div container. Similarly, bottom:-22px and right:-14px, is measured from the bottom-right of the twitter_div. In this case because we've added minus numbers, we're actually positioning it outside the div.

This is the easiest way to place images that are meant to overlap a box, border, line, whatever.

Positioning can be a bit fiddly to find the exact right number of pixels but you can work it out quickly with a sophisticated technique I call "trial and error" :-)

Step 10 - Style the Twitter FEED

So that's looking pretty good now, but really not quite what we had in mind. In fact what I originally wanted was the date/time to be on the left hand side, where the bullet points are. And of course the whole thing needs better spacing.

Now because the content is coming from some Javascript which we don't have any control over, what we need to do is figure out a way to work with what we have. Here's what we know:

  • Each tweet is in an <li></li> element.
  • The date/time bit is a link, so it must be wrapped in an <a></a> element.
  • And we know that the link is the last thing in each tweet.
  • And we know that links inside of tweets aren't linked. (I know this because I tried pushing through an actual link and it didn't appear linked). SO in other words we know that the date/time bit is the ONLY element wrapped in an <a></a>.

So using this information we can apply a style to the <li> and <a> elements to format it how we want. Here's how we do it:

#twitter_div ul {
	margin:0px;
	padding:0px;	
}
#twitter_div ul li {
	list-style:none;
	margin-bottom:5px;
	margin-left:90px;
	font-size:12px;
}
#twitter_div ul li a {
	width:70px;
	display:block;
	position:relative;
	top:-43px;
	left:-90px;
	line-height:19px;
	text-transform:capitalize;
}

Some things to notice about the first two definitions:

  1. The first definition just gets rid of default margins and padding on the <ul> element
  2. Next we get rid of the bullet points (list-style:none). Then we separate the <li> elements with a bottom margin
  3. Then we also tell the <li> elements to have a huge left margin of 90px. This will make enough space for us to move our date/time links into the gap.

The last definition applies to any <a> elements in the list, which is why it was important to check that these date/time links were the only links. First we tell the link to display:block. By setting the link to be a block level element, we stop it from sitting inline with the rest of the text and move it by default to sit below the text as a block.

Now because by default a block element like our link now is, will align to the left, we can say with confidence where the link will be positioned. I.e. that it will be just below our text and aligned to the left. If you want to see what I mean, just delete everything after display:block and look at the result.

With this knowledge, we can use relative positioning to move it relative to where it is now. So we say the link should be 43px higher than where it currently is, and 90px to the left. And this then places the link right where we wanted it! Try it and see!

Complete HTML & CSS

OK! We're done with our HTML and CSS! You can download the files - images, CSS, HTML - using the link below:

Download Images/HTML/CSS

Step 11 - Testing for Screensize

Now we're done with our HTML it's time to do some testing. The first thing to test is how it's going to look on a 1024x768 screen. I use a Firefox plugin to do this called Firesizer which is just so handy. It appears in the status bar, as shown and you select the screensize and Bam!

Anyhow everything turned out OK so no changes here!

Step 12 - Testing for IE6

Next we test IE6. Because I'm on a Mac, I use a really crappy IE6 solution using something called Darwine. On a PC you can get a standalone install of IE6 that doesn't tamper with your IE7 install.

If you're a web developer and you use IE6 by default, you need to stop immediately! hehe. Well I guess there would be cases where it'd be a good idea - e.g. if you were developing for a huge IE6 audience. Still, that'd be pretty weird. I highly recommend Firefox myself, but Opera, Safari, IE8 Beta, even IE7 would be good. Not to mention all the more obscure browsers...

(Note there is an IE7 solution via Darwine too, but as far as I can tell it's demented ... like really crazy and unusable)

Step 13 - Testing for IE7

Now we test for IE7 because although it's much better than IE6, it can still do the crazies now and again. For this I have to run my newly installed copy of Parallels.

Boy browser testing is laborious!

Still it's not nearly as labourious as if I'd run into problems! Fortunately it all checked out OK.

Step 14 - Validate Our Markup

And finally because some commenters here are NETTUTS suggested that I really should be validating my markup, we'll go push it through the W3C validator

Now I know it looks like I have lots of problems there, but in fact they are all coming from the Twitter Javascript - tsk, tsk, tsk, for shame! hehe. So it's OK, I'm off the hook!

Step 15 - The HTML is Finished! Now to Upload ...

And now it's time to upload. I get out my trusty FileZilla and hook up to collistaeed.com and up goes the site!

With that done ... we can turn to CushyCMS!

Step 16 - CushyCMS - Introduction

Now the purpose of this tutorial was really to show you how to use CushyCMS. At least it was until I realised that this is kinda stupidly easy to use and not really worth a tutorial (I learnt to use it from that video they have on their site!)

So anyhow the service is completely free and works by FTPing into your server and modifying the files you tell it to modify. It's really simple to use as you'll see, not hugely featured, but it does what it does well. From their homepage it looks like there will be more stuff coming in the future which they'll be charging for.

I recommend giving it a try as it could be a nice solution for a lot of small client websites, or of course for a site like mine! So anyway, we go to CushyCMS and sign up.

Step 17 - Setup CushyCMS For The New Site

Once you're logged in, it's a two step process to get setup:

  1. The first thing to do is Add a Site. This basically just involves giving them the FTP details
  2. Then we Assign Page(s), for us there's only one, so that's an easy choice

Step 18 - Adding the CushyCMS Class

Now in order for CushyCMS to know what elements should be editable, we need to specify them in the HTML of the page using a special class definition. So we have to go back to our HTML and add in some class="cushycms" bits.

Now the bits we want to be editable are those <div class="content_box"> areas. But they already have a class= definition. But that's OK! You can assign multiple classes to a single element by separating them with a space like this: <div class="content_box cushycms">. So the resulting HTML code is:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
	<title>Collis Ta'eed - A Little About Me</title>
	<link rel="stylesheet" href="style.css" type="text/css" media="screen" />
</head>

<body>
<div id="container">
	
    <h1><span>Hi I'm Collis, entrepreneur, blogger and designer.</span></h1>

	<img src="images/title_about_nm.jpg" alt="About Me" />
    <div id="about" class="content_box cushycms">
    
    	<a href="/images/collis.tif"><img src="images/photo_sm.jpg" class="photo" alt="Collis"/></a>
	    <div class="about_text">
            <p>After working as a web designer - both employed and freelance - I cofounded a startup with a few friends in 2006.  Our company, <a href="http://eden.cc">Eden</a>, has since grown and I've had the good fortune to work on lots of very exciting and interesting projects, everything from <a href="http://flashden.net">FlashDen</a> to <a href="http://blogactionday.org">Blog Action Day</a>. </p>
    
            <p>Thanks to the brilliant nature of the web, I'm currently living and working out of Hong Kong and travelling the world. You can find me online on <a href="http://twitter.com/collis">Twitter</a> where I post random thoughts, or you can send me an email from the form at the bottom of this page.  Thanks for stopping by!</p>
		</div>  
        
        <div class="clear"></div>
          
    </div>
    
    <img src="images/title_thoughts_nm.jpg" alt="Thoughts via Twitter"/>
    <div id="thoughts" class="content_box">
    
    	<div id="twitter_div">
            <ul id="twitter_update_list"></ul>
            <a href="http://twitter.com/collis"><img src="images/twitter_nm.jpg" alt="Follow Me on Twitter" /></a>
        </div>
    
    </div>
    
    
    <img src="images/title_project_nm.jpg" alt="Latest Projects"/>
    <div id="project" class="content_box cushycms">
    	<br />
    	<a href="http://nettuts.com"><img src="images/project_nettuts.jpg" class="photo" alt="NETTUTS"/></a>
        <a href="http://nettuts.com">NETTUTS</a>
		<p>In April Eden launched a sister site to PSDTUTS which I've been working on.  The site hosts web development and design tutorials.</p>
    	<div class="clear"></div>
    </div>
    
    <img src="images/title_links_nm.jpg" alt="Links" />
    <div id="links" class="content_box cushycms">
    
    	<p>Some links to sites that I have a hand in:</p>
        
        <ul>
        	<li><a href="http://flashden.net">FlashDen</a> - Our main Eden project</li>
        	<li><a href="http://freelanceswitch.com/book">How to Be a Rockstar Freelancer</a> - A book I cowrote with my lovely wife</li>
        	<li><a href="http://freelanceswitch.com">FreelanceSwitch</a> - The highly successful blog on freelancing</li>
        	<li><a href="http://psdtuts.com">PSDTUTS</a> - The best photoshop blog around!</li>
        	<li><a href="http://blogactionday.org">Blog Action Day</a> - A nonprofit, annual event</li>
        </ul>  
                                                    
    </div>
    
    <img src="images/title_contact_nm.jpg" style="clear:both" alt="Contact Me"/>
    <div id="contact" class="content_box cushycms">
    
    <p>I'm the first to admit that I'm not very good at answering all my emails, but I do my best and if you have need, then you can <a href="mailto:whoiscollis@gmail.com">email me</a>.</p>
    
    </div>
    
    
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-249823-23";
urchinTracker();
</script>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/collis.json?callback=twitterCallback2&count=3"></script> 
</body>
</html>

Now we go back to CushyCMS and our page is fully editable!

One thing, I should point out is that when I tried to make my Twitter area editable, the CushyCMS system just deleted my empty <ul> element, thereby rendering the Twitter thing unworkable. Unfortunately it seems the editor is a bit too clever for its own good. Still apart from that small annoyance, the system was really not too bad at all. I tend to switch to the Source view when editing, but I can see that clients would find it pretty easy to use. I'm interested to see what things they add in the upcoming paid version.

As a good alternative to this sort of super easy, no coding required, sort of CMS, you could also check out Light CMS which I've tried and quite liked too - though it works a little differently.

Conclusion!

So hope you enjoyed the tutorial. Be sure to visit my site, and twitter feed and give the CMS a whirl.

If you know of any other similar CMS products (like Cushy or Light), please leave a comment as it'd be good to do a wrap up of them here sometime.


Related Posts

Check out some more great tutorials and articles that you might like

Enjoy this Post?

Your vote will help us grow this site and provide even more awesomeness

Plus Members

Source Files, Bonus Tutorials and
More for $9 a month for all TUTS+
sites in one subscription.

Join Now

User Comments

( ADD YOURS )
  1. PG

    BoB K May 13th

    holy hell, awesome tutorial

    ( Reply )
  2. Great Job Collis, as always.

    ( Reply )
  3. PG

    Hyder May 14th

    Awesome tutorial Collis. I especially like that fact that you are willing to use various CMS platforms and show how you use them.

    I guess the biggest advantage of having your site available via an online CMS is that you can edit content when you don’t have your own system with all your tools, like while traveling.

    ( Reply )
  4. PG

    Chris May 14th

    This Tutorial is awesome!! I love the step by step stuff, thx a lot!!

    ( Reply )
  5. PG

    Shane May 14th

    I just checked out cssmania.com, and saw your new site - I like it very much.

    Then, I come over here, and there’s a tutorial on how you built it :) Very nice work indeed. I guess you could have avoided the ‘wierd [sic] gap appearing’ by using a reset stylesheet, but then you’d have had more CSS to set margins and padding etc. :)

    Gotta check out CushyCMS - you’re certainly right about the number of CMSs out there - there seem to be lots out there now.

    ( Reply )
  6. PG

    Tiempo May 14th

    Thanks! This is Great!

    ( Reply )
  7. PG

    Drupal Museum May 14th

    I’ll have to check out CushyCMS. Just a side note on the css naming conventions… It’s best not to use underscores in id and class names, as in “twitter_feed”, since some old browsers won’t recognize it. Better to use hyphens.

    Thanks for the post!

    ( Reply )
  8. PG

    D. Carreira May 14th

    Great tutorial! I love this tutorials to can do my work better. Thanks!

    David Carreira

    ( Reply )
  9. PG

    Danilo May 14th

    Good stuff around here. A few minor notes:

    Drop the span in the header h1, it serves no purpose semantically and is not needed for the design. You can hide the text in the “styled” site via text-indent: -9999px;.

    I didn’t know Firesizer, I always use the Web Developer add-on. It can resize your browser window just as well - and that’s just a fraction of useful stuff it brings along. It’s a must-have for my Firefox.

    ( Reply )
  10. PG

    Sam P. May 14th

    Great guide once again, some really useful bit’s in there. Not too sure about cushyCMS though, I would rather use something self hosted like Frog CMS.

    ( Reply )
  11. PG

    fcuk May 14th

    I’m in site building for our design team, first wanted to do all the things in a fullflash site. Now that NETTUTS is existing, probably i’ll think it twice if someone asks for a flash site. This is the best thing i’ve learnt here yet, knowing which technology fits the needs to build a valuable site. Thank you Collis!

    ( Reply )
  12. PG

    Ben Griffiths May 14th

    I Still havent gotten round to trying CushyCMS yet, but each time I read something about it, it makes memore determined to try it, just havent had a project that warrants it yet :(

    Thannks for the article, great as always :)

    ( Reply )
  13. PG

    Phyo May 14th

    Awesome tutorial.

    Thanks Collis.

    ( Reply )
  14. PG

    Collis Ta'eed May 14th

    @Drupal Museum: Wow i didn’t know that … d’oh!

    Thanks all!

    ( Reply )
  15. PG

    Joefrey Mahusay May 14th

    Wow! great job and info about the CMS. Thanks for sharing Collis.. :)

    ( Reply )
  16. PG

    Al May 14th

    One (or all expect one I think) of the validation problems is a simple fix that you should have noticed. In the script twitter gives you, one of the links is “…&count=3…”. All you have to do is change that to …&count=3…” to properly escape your ampersand and that problem will go away. The other problem I see is that you have a with no s inside. This cannot really be avoided (unless you stick in an and style it to ‘display: none’) so you’ll have to cope, but you really should fix your ampersand! :)

    ( Reply )
  17. PG

    Simon May 14th

    What font did you use for the headings? It’s a really nice thin font.

    ( Reply )
  18. PG

    Elliott Cost May 14th

    Nice tutorial! I love CushyCMS and have started to use it on my own projects.

    ( Reply )
  19. PG

    vutran May 14th

    Greats ! I love it
    Thanks Collis

    ( Reply )
  20. PG

    João Moreno May 14th

    Wonderful tutorial! Great job, man!

    ( Reply )
  21. PG

    Tom May 14th

    Nice tutorial, but I suggest other solutions rather than “display: none” for text-replacement. I usually prefer text-indent or something similar, to avoid accessibility issues.

    ( Reply )
  22. PG

    roger May 14th

    hi collis

    im a real ‘REAL’ beginner and these site tutorials are really helping me understand alot! any chance you can also include the psd and font with this download?

    also id it possible you can add a ’subscribe to comments’ or an rss feed for your comments?

    ( Reply )
  23. PG

    Andrei Constantin May 14th

    OUTSTANDING

    ( Reply )
  24. PG

    Juan Martinez May 14th

    Incredible Tutorial.. Thank You so much. I will definitely use CushyCMS for small clients.

    ( Reply )
  25. Useful tutorial, Collis, but I wish you’d rather used CSS image replacement for the main heading (rather than span).

    There are a few more semantic tweaks that you could do, but hey, what the heck! This is a good tutorial anyway (because of introducing Cushy, not the xHTML/CSS itself ;) )

    ( Reply )
  26. PG

    Razvan May 14th

    Awesome, just what I was looking for!

    ( Reply )
  27. PG

    Danny May 14th

    Nice tutorial, I’ll check out Cushy too :)

    ( Reply )
  28. PG

    Stefan May 14th

    Waw, this Cushy thing could be extremely useful!

    ( Reply )
  29. PG

    Erik Reagan May 14th

    Well done yet again.

    One note however: The primary image at the top (the ‘finished product’ sample) doesn’t link properly. Take a look at it
    :)

    ( Reply )
  30. PG

    MikeTheVike May 14th

    I like the tutorial, I’ve been hesitant to use an online cms. maybe you guys could do an article on the pros and cons of an online cms and a self hosted cms…

    ( Reply )
  31. PG

    Daniel May 14th

    nice tool here! thanks a lot for sharing Collis!

    ( Reply )
  32. PG

    Shannon May 14th

    Awesome tutorial!! thanks!

    ( Reply )
  33. PG

    Gilbert May 14th

    Nice tutorial Collis. CushyCMS looks quite cool. I didn’t realize how it worked at first but now I understand.

    ( Reply )
  34. PG

    Philip Campbell May 14th

    Great stuff here! - legend to actual blog about about, clean style. sharp to the point love it!

    ( Reply )
  35. PG

    Ali May 14th

    Perfect tutorial, truly nettut standard.

    ( Reply )
  36. PG

    Will May 14th

    CushyCMS looks pretty cool.

    Can it handle stuff like a news panel? Basically a mini blog.

    Will

    Engage Interactive

    ( Reply )
  37. PG

    Robert Strong May 14th

    Nice tut, see the table stock photo is popular, http://vectips.com/ .

    ( Reply )
  38. PG

    keif May 14th

    TMU - using CSS to hide text is an SEO no-no. I’ve read/had debates if it’s an “automatic” hit or if someone has to complain first, but it’s generally stated that image replacement is best done using JS (which search engines ignore) or sIFR.

    ( Reply )
  39. PG

    roger May 14th

    i can copy as good as the next person ;) http://redseasound.com

    like i said earlier thanks for the help, i see nettuts plus on the horizon!

    ( Reply )
  40. PG

    Zach K May 14th

    Awesome Tutorial. This is really great, as I’ve been wanting to do something with my personal site, but didn’t want to do a full blog. This is perfect for it. :)

    CushyCMS seems really cool, I’ll check it out.

    Thanks for the tutorial.

    ( Reply )
  41. PG

    Phil May 14th

    Amassing Those details you show us!
    Keep posting ! :D

    ( Reply )
  42. PG

    gen May 14th

    hey Collis,

    Great tutorial! I found it really informative and the intro to Cushy CMS was very nice too – made CMS seem a lot less confusing.

    ( Reply )
  43. PG

    Timothy Long May 14th

    This has definitely given me the inspiration to put Cushy to good use. Thanks!

    ( Reply )
  44. PG

    stevi3 May 14th

    I’ve used LightCMS, but my clients have a hard time with the editor. I may give Cushy a try.

    ( Reply )
  45. PG

    Bedrich May 14th

    Great tutorial! Thanks for the reference to CushyCMS, it looks really cool.

    ( Reply )
  46. PG

    Marloes May 14th

    Wow, great tut! Already was a fan of PSDtuts, now also nettuts is bookmarked at my laptop! Great one, Collis!

    ( Reply )
  47. PG

    endorphine May 14th

    You should use something like:
    h1
    {
    text-indent: -10000px;
    overflow: hidden;
    }
    It saves you an useless span

    ( Reply )
  48. PG

    Tor Løvskogen May 14th

    Nice tutorial. One note on the CSS/HTML, you don’t need a div to wrap your text, just give the paragraph a class, and give it some left margins, eg. margin: 0 0 20px 200px; depends on the width of your orange image.

    ( Reply )
  49. PG

    Alberto May 14th

    Nice tutorial, thank you!
    Cushy CMS seems interesting, but what about giving your ftp login/password? Would be better if you could install it on your server.

    ( Reply )
  50. PG

    Jero3n May 14th

    Nice tutorial, cushycms is really simple to use!

    ( Reply )
  51. PG

    John May 14th

    Great Tutorial!

    I’ve been looking at Cushy CMS for awhile now, seems like a great solution for simple sites where the owner just wants to change text around and what not.

    Is there any self hosted CMS’s that are as easy to use and super simple? I know of a bunch of CMS’s, but I’m looking for something self hosted that is just as easy. It would also be great if it was skinnable via CSS so that I could add their Logo’s, colors, etc.

    Great Tutorial Again!

    Now time to redesign my outdated Flash site. Most days when I get home from work I’m all coded out already :P

    ( Reply )
  52. PG

    Kai May 14th

    Superb tutorial!!

    I’m going to test it out!! Thanks for your tutorial

    ( Reply )
  53. PG

    Nate May 14th

    Nice stuff. I haven’t really thought about using twitter before until I read this. thanks!

    ( Reply )
  54. PG

    Piotr May 14th

    That’s nice. I didn’t know about CushyCMS until now. I might actually try it on my portfolio so thanks a lot.

    ( Reply )
  55. Great tutorial!
    Personally I prefer to use a CMS system that I install on the server like Drupal, but I like the idea. I hadn’t heard about CushyCMS until now.

    ( Reply )
  56. PG

    Ross May 14th

    Hey just to let you know if you put your mouse over the “Spoodfed Web Skills” the alt says Everything Photoshop.. :)

    ( Reply )
  57. PG

    Jaswinder Virdee May 14th

    Anyone know of a Cushy “clone”? I saw one one a while ago before cushy but can’t seem to find it now.

    ( Reply )
  58. PG

    fisch79 May 14th

    Very nice! Whats the next tut?! Cant wait to see ;)

    ( Reply )
  59. PG

    Ryan May 14th

    Thanks. This is great. I’d like to see an in depth wordpress tutorial similar to this.

    ( Reply )
  60. PG

    Snorri3D May 14th

    nice 1 thats the way to do it step by step

    ( Reply )
  61. PG

    Thilo May 14th

    @Ryan Yes I want also a wordpress Tutorial!

    Very nice tutorial, you’ve done. Only one thing to say: MORE!!!!

    ( Reply )
  62. PG

    Frank May 14th

    Nice tutorial! Damn, that IS cushy -and using twitter to keep the content interesting is a clever touch.

    ( Reply )
  63. PG

    David May 14th

    You made my brain break. Excellent use of multiple online apps and I can’t wait to emulate.

    ( Reply )
  64. PG

    Raj Dah May 14th

    Excellent tutorial, Collis. So easy to follow, and it inspired me to exactly how I need to redesign my personal site.

    ( Reply )
  65. PG

    Dave May 14th

    I similarly setup a TwitterFeed on my new design at DavePit.com, and found that using the JS from Twitter caused a problem. Every time Twitter was down, my site wouldn’t load because the JS was hanging.

    As an alternative, I created a feed using SimplePie and was able to style it exactly the same way. The only difference is that it’s not EXACTLY real-time to the minute, but it provides me the site up-time safety that I need.

    Just something to think about :)

    ( Reply )
  66. this is good collis, this can be useful cheers for the post

    ( Reply )
  67. PG

    Hip Hop Makers May 14th

    Great tutorial. I may have to do something similar.

    ( Reply )
  68. PG

    Karl Hardisty May 14th

    Brilliant!

    Will have to take a closer look at cushyCMS :)

    ( Reply )
  69. PG

    Rata May 14th

    Cool looking.
    But not THAT easy :P

    Thanks.

    ( Reply )
  70. PG

    shnalla May 15th

    Wow, CrushyCMs rules!!!!

    ( Reply )
  71. PG

    Lazymonkey44 May 15th

    This is so AWESOME! But, can you do the same kind of thing, but for a blog?

    ( Reply )
  72. This is nice tool here! Thanks a ton for sharing this Collis!

    ( Reply )
  73. PG

    Marek May 15th

    If you want to test out your website using i.e 6 on mac use a program called multipleie. Just search for it on google. I saw you is running parrallels which is what i use on my mac but the program will only work on windows xp being installed on the virtual drive.

    And the best bit is that its not buggy at all and you can run all versions of i.e at the same time :)

    ( Reply )
  74. PG

    sc May 15th

    very nice tutorial, but i went to the site and that medium grey text is TOOOOOO dark! are you kidding me?

    ( Reply )
  75. PG

    Pedro May 15th

    I wish you did not use CushyCMS, and instead used a more widely popular OS CMS. The biggest flaw with cushy is that it is a hosted solution.
    For an equally easy to use free CMS, that you can host anywhere where PHP is offered, I recommend CMS Made Simple @:
    http://www.cmsms.org

    They won 3rd place in Packt OS CMS award for 2007

    ( Reply )
  76. PG

    Kate May 15th

    Great tutorial! Thank a lot! And where do you find all these handy tools like CushyCMS:) BTW, Collis is a cute guy along the brains!

    ( Reply )
  77. PG

    Nico May 15th

    AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHsome! THanks!

    ( Reply )
  78. PG

    Sean May 15th

    Very awesome, Collis.

    You do text replacement differently than I, and I have a different suggestion.

    Instead of adding extra mark-up in the HTML, simply add “text-indent: -9999em” to the h1 tag.

    I haven’t encountered any problems with it, and leaves a non-needed span tag out of my HTML.

    ( Reply )
  79. PG

    Johan May 15th

    Thanks Collis! Now I use cushyCMS on one of my sites :)

    ( Reply )
  80. PG

    Christian Mejia May 15th

    It’s great to know that I am paying over 60 thousand dollars on my school tuition to learn nothing really, and everything I need to know is here on Nettuts for free! Thanks for this tutorial Collis, and no thanks to overpriced schooling. =D

    ( Reply )
  81. PG

    Edwin May 15th

    Great tutorial! A lot of interesting points in it! Thank you!

    ( Reply )
  82. PG

    Jad Graphics May 15th

    Great tutorial, Collis! I do have one suggestion. For the sub-headers, maybe you can use the same technique as the header

    as in using a h2 {text-indent: -9999px;}

    That way, when someoe views it w/o css, they can see the actual headings, and this helps for SEO as well.
    Just my two cents. Well, hope you come out with more cool tutorials like this.

    ( Reply )
  83. PG

    cspiegl May 16th

    Great tutorial! also i don’t understand why to use CushyCMS.
    I prefer to edit direct HTML ant not wysiwyg and therefore i use my macbook or an webftp client.

    ( Reply )
  84. PG

    Ronny-André May 16th

    Great tutorial :)

    ( Reply )
  85. PG

    Anrew May 16th

    Great Tutorial! I love the tip on replacing the heading.
    http://www.myinkblog.com

    ( Reply )
  86. PG

    Qbrushes May 16th

    this has really made me want to go check CushyCMS out.. but as someone noted i don’t like the idea that its hosted somewhere els, i would prefer using something standalone.

    ( Reply )
  87. PG

    Bruce Alrighty May 16th

    Great job Collis.

    You might want to updated the link that says “Visit Collis Ta’eed’s Website” so that it links to your website now instead of eden.cc

    ( Reply )
  88. PG

    Aias May 16th

    ha, what a painless way of allowing a client through the door but only allowing them to touch certain things. thanks!

    ( Reply )
  89. PG

    Raj May 16th

    Well done Collis. Really a lot of useful tips. Thanx a lot.

    ( Reply )
  90. PG

    joash xu May 18th

    Wow… good tutorial…

    ( Reply )
  91. PG

    Serpentarius May 19th

    Nice tutorial… cushyCMS is great for my clients to maintain their own content… its so simple.. great tool for small websites.

    ( Reply )
  92. PG

    Lewis May 19th

    Hey guys, on my site I fixed the twitter stuff. All you do is replace the & in the code with: & This sorts out the code issues. Hope this helps you guys out.

    Best regards,
    Lewis King

    ( Reply )
  93. PG

    Lewis May 19th

    Hey guys, on my site I fixed the twitter stuff. All you do is replace the & in the code with: “&” (without ” marks) This sorts out the code issues. Hope this helps you guys out.

    POSTED TWICE AS ONE ABOVE CHANGED THE CODE INTO &

    Best regards,
    Lewis King

    ( Reply )
  94. PG

    Lewis May 19th

    OK, It seems there is no way of posting the & code so its: & then amp then ; (Delete the then and spaces for it to work)

    ( Reply )
  95. PG

    Sim Kamsan May 19th

    Good tutorial. I will try.

    ( Reply )
  96. PG

    pab May 23rd

    very nice.

    I know some who will love this

    and excellent tutorial.

    ( Reply )
  97. PG

    Richard May 23rd

    What an excellent and in-depth tutorial. I had heard about NETTUTS before but a friend recently pointed me back in this direction. Some of the tutorials I have seen so far are EXACTLY the type of thing you need, especially if you are just starting out. Excellent.

    The introduction to CushyCMS is very welcome too - it has certainly given me a few ideas for when the client wants a little bit of control over their site.

    ( Reply )
  98. PG

    James May 23rd

    There are obvious disadvantages to using this CMS but everything taken into account it is a very nice solution if u’r looking for a basic CMS!

    ( Reply )
  99. PG

    Mike May 23rd

    Really excellent tutorial. Very useful information, thanks for posting this.

    ( Reply )
  100. PG

    nicklaz21 May 25th

    Man Collis. So much depth, yet so easy to follow. Thanks for this.

    ( Reply )
  101. PG

    benjamin May 26th

    The problem with Lucida Grande is that it has no italic or oblique face. If you use this declaration:

    font-family: Lucida Sans, Lucida Grande, Lucida Sans Unicode, …

    You’ll have reliable italics on clients.

    ( Reply )
  102. PG

    trnnn May 26th

    Thanx!
    very detailed, fresh & inspiring.
    congrats for the site launch!

    ( Reply )
  103. PG

    Danny May 29th

    checked this cushyCMS thing out and it looks great! thanks

    ( Reply )
  104. PG

    dan_x May 29th

    THX a lot! I am using that table photo on my twitter now :)

    About that CMS… Well I think it’s good idea. I am going to develop my own CMS in python following CushyCMS ideas..
    Also I found http://texty.com/ - I think it’s same.

    ( Reply )
  105. PG

    dan_x May 29th

    UPD: Sorry for my English..

    ( Reply )
  106. PG

    Siah J. May 31st

    AWESOME!!! EXACTLY what I’ve been looking for! Thanks!

    ( Reply )
  107. PG

    Taylor Satula June 9th

    Coo as all the tuts here i dont think there’s a tut i dont like

    ( Reply )
  108. PG

    naddy June 10th

    EXTREMELY helpful! :) thanks

    ( Reply )
  109. PG

    thilo June 12th

    I like the idea using twitter as a micro-blog because I am way too lazy to do real blogging anyway. However a real drawback is, that links pasted in twitter do not appear as links on the website.

    A better script that also enables URL’s can be found here:

    http://www.damnralph.com/2007/11/20/PullingTwitterUpdatesWithJSONAndJQuery.aspx

    This is a very compact jQuery script which is especially efficient if you’re going to use jQuery Framework anyway (for ajax or animation effects). It’s HTML output (unordered list and spans) and language - “2 days ago” - can be customized.

    Also of interest is a PHP Script called Twitter2HTML. Using it has the advantage that the newssection is accessible to users having disabled Javascript.

    http://www.twitter2html.com

    ( Reply )
  110. PG

    Prashanth June 17th

    Hi, this is a great tutorial. I was wondering, however, why twitter doesn’t really let you control the number of tweets on your site, even with the javascript line …callback=twitterCallback2&count=3″… edited. I want 3 to show up, but all of mine do, distorting my website. Thanks!

    ( Reply )
  111. PG

    Cansado June 29th

    I have testing cushy and seems really good but… can i offer to my client a solution that have no guarantees of permanency in time…? What would happen if Cushy one day decides to stop its services?

    ( Reply )
  112. PG

    Kloche July 1st

    Brill Tut. I will have to try this out soon. I have been putting off designing my own website for too long.

    ( Reply )
  113. PG

    Taylor Satula July 1st

    Twitter is great but not for this

    ( Reply )
  114. PG

    brian July 3rd

    AWESOME!!!!!!

    ( Reply )
  115. PG

    Steve July 8th

    I just hooked a client up with CushyCMS cuz of this tutorial. He has only 10 pages to manage, so it wasn’t that hard, but I think it would be a PITA to add many more pages on a larger site. I hope they make it easier to do this as it progresses.

    ( Reply )
  116. PG

    Nu Digi July 8th

    Wow. I didn’t really look into CushyCMS until this tutorial introduce me to it. I applied it to my own site and I must say… I am really looking into CushyCMS now.

    Thanks for the tutorial! :)

    ( Reply )
  117. PG

    jojo August 8th

    Really really helpful. Thanks Collis.

    ( Reply )
  118. PG

    Aaron Hall August 18th

    This is GREAT!!!! I never thought it’d be so easy!!! Thanks so much! More CMS tuts, please? :)

    ( Reply )
  119. PG

    mattems August 26th

    great work. prefection, simplicity. Im building right now.

    ( Reply )
  120. PG

    Windows Themes September 4th

    That`s nice Coolis, keep them coming ;)

    ( Reply )
  121. PG

    John September 22nd

    Dont get offended but i found this CMS very unsecured. Its easy to use but it unsecured.

    ( Reply )
  122. PG

    kareem November 27th

    this is wonderful tutorial i will put acopy of this lesson on
    my site here
    http://www.as7ap4you.com

    ( Reply )
  123. PG

    Data Recovery Reviews December 12th

    Memory card file undelete software rescue lost snaps, documents, audio video files from MMC, flash card, SD card.

    ( Reply )
  124. PG

    Ben Duffin January 8th

    For people who like CushyCMS but didnt want to pay for branding…

    It has just taken me only two and a half days to completely clone CushyCMS in PHP by looking at the CushyCMS interface to guess at the underlying functions.

    A couple of tips - use ftp_nb_fput and ftp_nb_fget functions, and try using the DomDocument to parse the HTMl tags…..

    All becuase a client wanted a branded version, but didnt want to pay! now i Have my Own Hosted CMS Solution, Ximple CMS!

    ( Reply )
  125. PG

    Santana January 16th

    Thanks!! Nice Tuto

    ( Reply )
  126. Maker of advanced mac data recovery utilities and tools to restore memorable pictures and images from sD memory card.

    ( Reply )
  127. PG

    Paul February 4th

    Nice tutorial. I have been using CushyCMS and it has a lot of good and bad sides… but for quick editing static websites is pretty good.

    ( Reply )
  128. PG

    Maik Diepenbroek February 6th

    Very useful, easy to read and detailed ! thanks

    ( Reply )
  129. PG

    drive recovery February 13th

    USB pen drive data recovery software retrieves erased mpeg, wav, bmp, mov, tiff or jpeg files from inaccessible thump drive.

    ( Reply )
  130. PG

    recover password February 19th

    Suppliers of tool to unlock password and decode all encoded archive message file of any yahoo mail account.

    ( Reply )
  131. PG

    Remote Keylogger February 19th

    Keylogger software is completely keyboard monitoring, e-mail recording, passwords capturing tool.

    ( Reply )
  132. PG

    Dale Breckenridge March 6th

    Can we get a tutorial for doing this with Surreal CMS? Thanks!

    ( Reply )
  133. PG

    File recovery March 13th

    Makers of hard drive data recovery software help to recover data from hard disk which is permanently deleted using Shift + Del keys.

    ( Reply )
  134. PG

    Keith D May 14th

    Lot of information… thanks.

    I’ve looked at Cushy a couple of times but have always been reluctant to give out my FTP info.

    Am I being paranoid?

    Thanks for a great article.

    Keith

    ( Reply )
  135. PG

    coder May 19th

    The demo is not working any more ?

    ( Reply )
  136. PG

    Justin Moser June 19th

    wicked tutorial, thanks a lot, one thing however, and pardon if im being dense, but the demo is completely different to the tutorial? is it even related?

    ( Reply )
  137. PG

    Fantasmo June 29th

    With CushyCMS, can I only edit content elements which are ALREADY in my html-layout from the beginning? Or can I also ADD content elements?
    For example having a content element with a structure like “headlin (h1) - pic (img) - text (p)” (similiar to yours in the tutorial)… and then, if needed, putting in a new content element with the same structure?

    Somebody mentioned “Frog CMS”…don’t know if this CMS can do such things?!

    Any help would be appreciated. At the time I’m using Typo3, but think it is a little bit too much for my purposes.

    ( Reply )
  138. PG

    Kawsar Ahmad June 29th

    awesome dude! its a nice tut. thanks :)

    ( Reply )
  1. Arrow
    Gravatar

    Your Name
    June 29th