Free Light HTML Editor

Miscellaneous Forums/General Discussion/Free Light HTML Editor

I need a good light html editor with preview, any suggestions would be appreciated. What do you use?

Dreamweaver - Nice. but ads crap code, huge, and memory sucker.

MS Web Dev Express - Really nice. Loved the search and replace stuff, and the IDE is superb. However it installs a lot of SQL, and ASP stuff that I don't give a dang.

Notepad - best light editor, but not really a html editor.

1st Page 2000

Just watch yer anti-virus though, it may pop-up a virus warning during install, it'll simply complaining about a javascript file that's included in the package that's 99% of the time used for malicious purposes.

nVu - freeware but it has a few minor bugs. Whatever HTML editor you use, you're going to have to dabble with the source, I'm afraid.

I use notepad. I hear there are other notepads you can use that let you do code more easily. Have search and replace fucntions. But I do not use them.

Do a search on google for XHTML Kit. For the Mac, I use Smultron.

I used Homesite, has preview. But its not free.

Somebody recommended Nvu to me a few months ago, after using Frontpage for about four years. Would never go back.

http://www.nvu.com/index.php

I fond of Nvu too - both on Windows and Linux - but I'm told it's buggy in some respects (I'm yet to do anything complex enough to enounter them).

Whilst waiting for Nvu2 to come around though, someone's picked up the open source and fixed many of the bugs. It's called Kompozer and can be found at http://kompozer.net

Word is it's much more stable than Nvu whilst being functionally identical.

Given that the author of Nvu seems to be spending all his time updating his blog in 79 different languages lately, and is apparently oblivious to the fact that Nvu exists, I'm not holding my breath for any more "official" updates.

I'll keep an eye on Kompozer, but even that hasn't had an update in six months.

It's definitely not what you are looking for, but this may work well for you in some simpler cases:
I usually use "Programmer's Notepad" (or gEdit in Linux) and Firefox with the "Web Developer" extension.
The editor is pretty basic, but the idea is that once the CSS is set up nicely I can test changes to the formatting from within the web browser using the Web Developer extension's Edit CSS option. It's served me well so far, I think!

You should try
http://www.coffeecup.com/free-editor/
It's pretty good and seems to fit your needs.

try this:

Blitz Pus
;
;	EdzUpHTMLEditor - Copyright (C)EdzUp
;	Coded by Ed Upton
;

;
;	TODO:Make it so it changes to the directory that the file is loaded from
;
;

Global HTMLFont = LoadFont( "System", 6 )
Global MainWindow = CreateWindow( "EdzUp HTML Editor", 0, 0, ClientWidth( Desktop() ), ClientHeight( Desktop() ) )

Global Tabber = CreateTabber( 0, 0, ClientWidth( MainWindow ), ClientHeight( MainWindow ), MainWindow )
AddGadgetItem Tabber, "HTML Source", True
Global HTMLArea = CreateTextArea( 0, 0, ClientWidth( Tabber ), ClientHeight( Tabber ), Tabber )
SetGadgetFont HTMLArea, HTMLFont

AddGadgetItem Tabber, "HTML View"
Global HTMLView = CreateHtmlView( 0, 0, ClientWidth( Tabber ), ClientHeight( Tabber ), Tabber )
HideGadget HTMLView

;-------- MENUS --------
Global Menus= WindowMenu( MainWindow )
Global FileMenu = CreateMenu( "&File", 1, Menus )
CreateMenu( "&New", 9, FileMenu )
CreateMenu( "&Load", 10, FileMenu )
CreateMenu( "&Save", 11, FileMenu )
CreateMenu( "", 12, FileMenu )
CreateMenu( "&Quit", 13, FileMenu )
UpdateWindowMenu MainWindow

Global HTMLDir$=""

While Not KeyDown( 1 )
	Event = WaitEvent()
	Select Event
	Case $401: Select EventSource()
				Case Tabber:UpdateTabber()
				End Select
	
	Case $1001:  Select EventData()
				Case 9  : SetGadgetText HTMLArea, ""
				Case 10 : Request$ = RequestFile$( "Load file", "html,htm", False )
							If Request$<>""
								SetGadgetText HTMLArea, ""
								LoadFile( Request$ )
								UpdateTabber()
							EndIf
				Case 11 : Request$ = RequestFile$( "Save file", "html,htm", True )
							If Request$<>"" Then SaveTemp( Request$ )
				Case 13 : If Confirm( "Quit: Are you sure?" )=True Then End
				End Select
				
	Case $803: If Confirm( "Quit: Are you sure?" )=True Then End
	End Select
Wend
End

Function UpdateTabber()
	If SelectedGadgetItem( Tabber )=0
		HideGadget HTMLView
		ShowGadget HTMLArea
		ActivateGadget HTMLArea
	Else
		SaveTemp()
		HideGadget HTMLArea
		ShowGadget HTMLView
		HtmlViewGo HTMLView, HTMLDir$+"Temp.dat"
		ActivateGadget HTMLView
	EndIf
End Function

Function LoadFile( Filename$ )
	Local FileHand = ReadFile( Filename$ )
	Local st$=""
	
	If FileHand<>0
		;extract files directory
		FP=Len( FileName$ )+1
		Repeat
			FP= FP -1
		Until Mid$( Filename$, FP, 1 )="" Or FP<1
		HTMLDir$ = Left$( Filename$, FP )
		SetStatusText MainWindow, HTMLDir$
		ChangeDir HTMLDir$
		
		;load in HTML File
		Repeat
			st$ = ReadLine$( FileHand )
			AddTextAreaText HTMLArea, St$+Chr$(10)
		Until Eof( FileHand )<>0
		CloseFile FileHand
	EndIf
End Function

Function SaveTemp( Filename$="" )
	If FileName$ = "" Then FileName$ = HTMLDir$+"Temp.dat"
	Local FileHand = WriteFile( FileName$ )
	
	If FileHand<>0
		WriteLine FileHand, TextAreaText$( HTMLArea )
		CloseFile FileHand
	Else
	EndIf
End Function



And BlitzMax with BlitzGUI
'
'	EdzUpHTMLEditor - Copyright (C)EdzUp
'	Coded by Ed Upton
'

'
'	TODO:Make it so it changes To the directory that the file is loaded from
'
'
Strict

'FormatTextAreaText( textarea:TGadget,r,g,b,flags,pos=0,length=-1,units=1 )

Global HTMLFont:TGUIFont = LoadGuiFont( "System", 6 )
Global MainWindow:TGadget = CreateWindow( "EdzUp HTML Editor", 0, 0, ClientWidth( Desktop() ), ClientHeight( Desktop() ) )

Global Tabber:TGadget = CreateTabber( 0, 0, ClientWidth( MainWindow ), ClientHeight( MainWindow ), MainWindow )
AddGadgetItem( Tabber, "HTML Source" )
Global HTMLArea:TGadget = CreateTextArea( 0, 0, ClientWidth( Tabber ), ClientHeight( Tabber ), Tabber )
SetGadgetFont( HTMLArea, HTMLFont )

AddGadgetItem( Tabber, "HTML View" )
Global HTMLView = CreateHTMLView( 0, 0, ClientWidth( Tabber ), ClientHeight( Tabber ), Tabber )
HideGadget( HTMLView )
ActivateGadget( HTMLArea )

'-------- MENUS --------
Global Menus:TGadget= WindowMenu( MainWindow )
Global FileMenu:TGadget = CreateMenu( "&File", 1, Menus )
Global NewMenu:TGadget = CreateMenu( "&New", 9, FileMenu )
Global LoadMenu:TGadget = CreateMenu( "&Load", 10, FileMenu )
Global SaveMenu:TGadget = CreateMenu( "&Save", 11, FileMenu )
Global SaveAsMenu:TGadget = CreateMenu( "Save &As", 12, FileMenu )
CreateMenu( "", 15, FileMenu )
Global QuitMenu:TGadget = CreateMenu( "&Quit", 13, FileMenu )
UpdateWindowMenu( MainWindow )

Global HTMLDir:String =""
Global Request:String =""
Global MainFile:String = "Untitled.html"

Rename( MainFile )

While Not KeyDown( 1 )
	If PollEvent()<>Null
		Select EventID()
		Case EVENT_MENUACTION
					Select EventData()
					Case 9
							SetGadgetText HTMLArea, ""
							MainFile = "Untitled.html"
							Rename( MainFile )
							
					Case 10
							Request = RequestFile$( "Load file", "Internet files:html,htm;All files:*", False )
								If Request$<>""
									SetGadgetText HTMLArea, ""
									LoadFile( Request$ )
									UpdateTabber()
									Rename( Request$ )
									MainFile = Request$
									Tokenise()
								EndIf
								
					Case 11
							If MainFile="Untitled.html"
								Request$ = RequestFile$( "Save As", "Internet files:html,htm;All files:*", True )
								If Request$<>""
									SaveTemp( Request$ )
									MainFile = Request$
									Rename( MainFile )
								EndIf
							Else
								SaveTemp( MainFile )
							EndIf
					Case 12
							Request$ = RequestFile$( "Save file", "Internet files:html,htm;All files:*", True )
								If Request$<>""
									SaveTemp( Request$ )
									MainFile = Request$
									Rename( MainFile )
								EndIf
										
					Case 13
							If Confirm( "Quit: Are you sure?" )=True Then ShutdownEngine()
					End Select
		
		Case EVENT_GADGETACTION
					Select EventSource()
					Case Tabber
						UpdateTabber()						
					End Select
					
		Case EVENT_WINDOWCLOSE
					If Confirm( "Quit: Are you sure?" )=True Then ShutdownEngine()
		End Select
	EndIf
Wend
End

Function Tokenise()
	Local TP:Int =0
	Local On=0
	Local OldOn=0
	Local TAT:String = TextAreaText$( HTMLArea, 0 )
	Local Prev:Int = 0
	
	For TP=1 To Len( TAT )
		If Mid$( TAT, TP, 1 )="<" And On=0
			FormatTextAreaText( HTMLArea, 255, 0, 0, 0, TP-1, 1 )
			Prev = On
			On=1
		EndIf
		If Mid$( TAT, TP, 1 )=">" And On=1
			On=Prev
			Prev=0
		EndIf
		If Asc( Mid$( TAT, TP, 1 ) )=34 And On<>2
			FormatTextAreaText( HTMLArea, 0, 0, 255, 0, TP-1, 1 )
			OldOn=On
			Prev = On
			On=2
		ElseIf Asc( Mid$( TAT, TP, 1 ) )=34 And On=2
			On=OldOn
			On=Prev
			Prev = 0
		EndIf

		Select On
		Case 1
			FormatTextAreaText( HTMLArea, 255, 0, 0, 0, TP, 1 )
			
		Case 2
			FormatTextAreaText( HTMLArea, 0, 0, 255, 0, TP, 1 )
			
		Default
			FormatTextAreaText( HTMLArea, 0, 0, 0, 0, TP, 1 )
		End Select
	Next
End Function

Function Rename( NewName:String )
	SetGadgetText( MainWindow, "EdzUp HTML Editor - "+NewName )
End Function

Function ShutdownEngine()
	FreeMenu( Menus )
	FreeGadget( HTMLView )
	FreeGadget( HTMLArea )
	FreeGadget( Tabber )
	FreeGadget( MainWindow )
	End
End Function

Function UpdateTabber()
	If SelectedGadgetItem( Tabber )=0
		HideGadget HTMLView
		ShowGadget HTMLArea
		ActivateGadget HTMLArea
		Tokenise()
	Else
		SaveTemp()
		HideGadget HTMLArea
		ShowGadget HTMLView
		HtmlViewGo HTMLView, HTMLDir$+"Temp.dat"
		ActivateGadget HTMLView
		Tokenise()
	EndIf
End Function

Function LoadFile( Filename:String )
	Local FileHand:TStream = ReadFile( Filename$ )
	Local st:String=""
	Local FP:Int
	
	If Not FileHand
	Else
		'extract files directory
		FP=Len( FileName$ )+1
		Repeat
			FP= FP -1
		Until Mid$( Filename$, FP, 1 )="" Or FP<1
		HTMLDir$ = Left$( Filename$, FP )
		SetStatusText MainWindow, HTMLDir$
		ChangeDir HTMLDir$
		
		'load in HTML File
		Repeat
			st$ = ReadLine$( FileHand )
			AddTextAreaText HTMLArea, St$+Chr$(10)
		Until Eof( FileHand )<>0
		CloseFile FileHand
	EndIf
End Function

Function SaveTemp( Filename:String ="" )
	If FileName$ = "" Then FileName$ = HTMLDir$+"Temp.dat"
	Local FileHand = WriteFile( FileName$ )
	
	If FileHand<>0
		WriteLine FileHand, TextAreaText$( HTMLArea )
		CloseFile FileHand
	Else
	EndIf
End Function


Hope it helps, im working on a multi page interface for it at the moment so you can have loads of source open at once but that is still in progress.

Homesite comes with Dreamweaver. Actually, I never use Dreamweaver, only Homesite. Sad it isn't developed anymore.

Wow, that code makes my head spin...

First page 2006, nag screen but free :) HTML kit is also quite good. Both offer code completion "popup".

EditPlus from http:www.editplus.com/

Shareware but it just pops a nag screen and is otherwise uncrippled.

You can also configure it for use with Blitz and other languages.