I am using ASP.
This is the page that goes on to open my list of server commands..(used a bit of VB script here too)
<% @LANGUAGE="VBSCRIPT" %>
<%
'*** create fso object
dim objFSO
set objFSO = createobject("scripting.filesystemobject"
'***----
'*** define the location of your homepage from here
'*** this will be used after updating or cancelling
dim stHomePage
strHomePage = "Template.html"
Dim commandFile
commandFile = "server_config.asp"
'***---
'*** get the name of this page (script) dynamically - you could specify this if you want
dim strScriptName
strScriptName = request.servervariables("script_name"

strScriptName = mid(strScriptName, instrrev(strScriptName, "/"

+ 1 )
'***---
'***--- if they've not submitted the Save form
if request.form("Save"

= "" then
Dim Regex, title
Set Regex=New RegExp
Regex.Global = True
Regex.IgnoreCase = False
Regex.Multiline = True
Regex.Pattern="(EXAMPLE*|Example|DESCRIPTION|SYNOPSIS|OPTIONS|#\d+|\$\s+\w*\s\w*)"
dim strFileContents
strFileContents = Regex.Replace(Request.form("Tfile"

,"<font COLOR='#8448FF'><b>$1</b></font>"

strFileContents = Replace(strFileContents, vbCrLf, "<BR>"
title = Request.Form("title"
'***---- if they're updating....
else if request.form("Save"

<> "" then
'*** get the contents
dim strWriteContents
strWriteContents = request.form("pageHTML"
'*** page text isn't a requirement as we can sort out an error message to some extent in replace.
if strWriteContents = "" then
strWriteContents = "This page is currently un-available."
strWriteContents = strNewContent & vbCrLf & "<br><br>"
strWriteContents = strNewContent & vbCrLf & "We apologise for any inconvenience caused."
end if
Dim objMenuPage, i
objFile = Request.form("fileName"

if(objFSO.FileExists(Server.MapPath(objFile) ) )Then
strFileContents = strWriteContents
error = "The file "& objFile &" already exists. please specify a different file name"
else
Const ForReading = 1, ForWriting = 2, ForAppending = 8
strPath = Request.form("path"

strFullName = objFSO.BuildPath(strPath, objFile)
Set objMenuPage = objFSO.CreateTextFile(strFullName, forWriting, False)
'write the HTML page
objMenuPage.WriteLine"<html><head><title>" & Request.Form("pageTitle"

& "</title></head><body>"
objMenuPage.WriteLine strWriteContents
objMenuPage.WriteLine "</body></html>"
objMenuPage.Close
'Add the link to the command file
Dim f,ts
set f = objFSO.GetFile(Server.MapPath(commandFile))
set ts = f.OpenAsTextStream(ForAppending, -2)
'Write the link and specify how you want it to look. All "" in ther html code must be changed to ''
ts.write("<font size='3'><a href ='" & objFile &"'>" & objFile & "</a></font><br>"
Response.Redirect(commandFile)
end if
end if
End if
%>
<html>
<head>
<title>Text Editor</title>
<script language="javascript">
<!--
function over(element) {
element.style.borderStyle= "solid";
element.style.borderWidth = "1px";
element.style.borderColor = "#000000";
element.style.backgroundColor = "#F1F1F1";
element.style.cursor = "hand";
}
function out(element) {
element.style.borderColor = "#ccccff";
element.style.backgroundColor = "#ccccff"
element.style.cursor = "default";
}
function readyDiv() {
var theHTML;
theHTML = document.all.tags('div')['pageHTML'].innerText;
document.all.tags('div')['pageHTML'].innerHTML = theHTML;
}
function cmdExec(cmd,opt) {
pageHTML.document.execCommand(cmd,"",opt);
document.body.all.tags('div')['pageHTML'].focus();
}
function createLink() {
cmdExec("CreateLink"

;
}
function insertImage() {
var sImgSrc = prompt("Image: ", "
[domain].[ext]/[folder]/[file]"

;
if(sImgSrc!=null)
cmdExec("InsertImage",sImgSrc);
}
function div2hidden(objForm) {
tmpStr = objForm.fileName.value
if(tmpStr == ""

{ alert("Please specify a file name!!"

;
document.frmedit.fileName.focus();
return false;
}
str= String(".html"

;
if(tmpStr.substring(tmpStr.length - 5,tmpStr.length) != str)
{ alert("Please save file as type .html"

;
document.frmedit.fileName.focus();
return false;
}
objForm.pageHTML.value = document.all.tags('div')['pageHTML'].innerHTML;
return true;
}
function go(where) {
window.location.href = where;
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="frmedit" method="post" onsubmit="return div2hidden(this);" action="editor.asp">
<input type="hidden" name="pageHTML" value="">
<input type="hidden" name="Save" value="1">
<input type="hidden" name="pageTitle" value="<%= title%>">
<input type="hidden" name="path" value="D:\Inetpub\
<input type="hidden" name="file" value="<%= objFile %>">
<table width="550" cellpadding="2" cellspacing="2" align="center" style="border-style: solid; border-width: 1px; border-color: #000000;" bgcolor="#ccccff">
<tr>
<td width="100%" align="center">
<input type="submit" value="Save">
<input type="button" value="Cancel" onclick="go('<%= strHomePage %>');">
</td>
</tr>
<tr>
<td>
<table width="100%" cellpadding="0" cellspacing="0" border="1" bordercolor="#ccccff">
<tr>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('cut')">
<img src="img/cut.gif" alt="CUT - Ctrl + X">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('copy')">
<img src="img/copy.gif" alt="COPY - Ctrl + C">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('paste')">
<img src="img/paste.gif" alt="PASTE - Ctrl + V">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('bold')">
<img src="img/bold.gif" alt="BOLD - Ctrl + B">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('italic')">
<img src="img/italic.gif" alt="ITALIC - Ctrl + I">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('underline')">
<img src="img/underline.gif" alt="UNDERLINE - Ctrl + U">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('justifyleft')">
<img src="img/left.gif" alt="Justify Left">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('justifycenter')">
<img src="img/center.gif" alt="Center">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('justifyright')">
<img src="img/right.gif" alt="Justify Right">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('insertorderedlist')">
<img hspace="2" vspace="1" src="img/numlist.gif" alt="Ordered List">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('insertunorderedlist')">
<img hspace="2" vspace="1" src="img/bullist.gif" alt="Unordered List">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('outdent')">
<img hspace="2" vspace="1" src="img/unindent.gif" alt="Decrease Indent">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('indent')">
<img hspace="2" vspace="1" src="img/indent.gif" alt="Increase Indent">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="cmdExec('createLink')">
<img hspace="2" vspace="1" src="img/link.gif" alt="LINK - Ctrl + K">
</div>
</td>
<td valign="center" align="center" onmouseover="over(this);" onmouseout="out(this);" width="20" height="20">
<div onclick="insertImage()">
<img hspace="2" vspace="1" align="absmiddle" src="img/image.gif" alt="Image">
</div>
</td>
</tr>
<tr valign="middle">
<td colspan="16" width="100%">
<select onchange="cmdExec('foreColor',this[this.selectedIndex].value);this.selectedIndex=0">
<option value="0">Font Color</option>
<option value="#000000">Black</option>
<option value="#FF0000">Red</option>
<option value="blue">Blue</option>
</select>
<select onchange="cmdExec('fontname',this[this.selectedIndex].value);">
<option selected>Font</option>
<option value="Arial">Arial</option>
<option value="Times New Roman">Times New Roman</option>
<option value="Verdana">Verdana</option>
</select>
<select onchange="cmdExec('fontsize',this[this.selectedIndex].value);">
<option selected>Size</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
</td>
</tr>
</table>
</td>
</tr>
<tr><td align ="center"><font color="red" size="5"><B><%=error%></B></font></td></tr>
<tr><td>Save file as...(e.g. command_name.html) <input type="text" name="fileName" size="60" value= "<%=title &".html"%>"></td></tr>
<tr>
<td align="left">
<!-- page content div -->
<div contentEditable="true" id="pageHTML" name="pageHTML" style="border-style: solid; border-width: 1px; border-color: #000000; background-color: #FFFFFF; padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px; width: 750px; height: 380px;">
<%= strFileContents %>
</div>
<!-- / p c d -->
</td>
</tr>
<tr><td align ="center"><font color = "red" size="5"><B><%=error%></B></font></td></tr>
<tr>
<td width="100%" align="center">
<input type="submit" value="Save">
<input type="button" value="Cancel" onclick="go('<%= strHomePage %>');">
</td>
</tr>
</table>
</form>
</body>
</html>