I would suggest the function escape(). It makes the source unreadable (HTML, JS and CSS), however:
° You will have problems if you use % in the code
° It´s very easy to decode: JS-Function unescape()
If someone wants to use this method, he should make a file which encodes the source (big textarea - button "encode" - a simple JS-function with, for example, document.formName.textaraName.value=escape(document.formName.textaraName.value);).
Then he should copy the encoded source, and paste it into his site with a code like this:
<script>
var src="Encoded Source";
document.write(unescape(src));
</script>
The encoded source should look similar to this example:
%3Chtml%3E%3Cbody%20bgcolor%3D%230000ff%3EExample%3Cscript%3Ealert%28%27Script%27%29%3B%3C/script%3E%3C/body%3E%3C/html%3E