<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: Dreamhacker</title>
	<link>http://ask.metafilter.com/82427/Dreamhacker/</link>
	<description>Comments on Ask MetaFilter post Dreamhacker</description>
	<pubDate>Thu, 31 Jan 2008 04:33:06 -0800</pubDate>
	<lastBuildDate>Thu, 31 Jan 2008 04:33:06 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Question: Dreamhacker</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker</link>	
		<description>I would like to write my own HTML/CSS editor. What would be the best way to go about it? (more inside) &lt;br /&gt;&lt;br /&gt; I&apos;ve been a professional web developer for the last 8 years or so. I&apos;ve used Dreamweaver all the way back since the very first beta came out way back when. Without a doubt, it&apos;s the best tool for the job (for me).&lt;br&gt;
&lt;br&gt;
Saying that, I only ever use Dreamweaver to write code. I don&apos;t use any of the visual tools, or any of the built in javascript or back end helper code. I&apos;d say I maybe use 15% of all it&apos;s features. It got quite bloated over the years, but it&apos;s that 15% that&apos;s keeping me from ditching in altogether and going with something like Komodo edit or one of the other open source tools like Bluefish or Aptana.&lt;br&gt;
&lt;br&gt;
These features are:&lt;br&gt;
&lt;br&gt;
1. The awesome tab completion and code hinting for HTML/CSS&lt;br&gt;
2. Code coloring&lt;br&gt;
3. Color pickers when defining colors on the fly&lt;br&gt;
4. File picker when defining background image files on the fly&lt;br&gt;
5. Code formatting/indentation&lt;br&gt;
&lt;br&gt;
My question is, how hard would it be to write my own standalone editor that could do these things, or could I extend another existing software package (like Eclipse) to do it? I would like to make something that would be cross-platform and free.&lt;br&gt;
&lt;br&gt;
Apologies for the long-winded post. I throw myself at your feet, hive mind!</description>
		<guid isPermaLink="false">post:ask.metafilter.com,2008:site.82427</guid>
		<pubDate>Thu, 31 Jan 2008 04:30:51 -0800</pubDate>
		<dc:creator>ReiToei</dc:creator>
		
			<category>software</category>
		
			<category>editor</category>
		
			<category>opensource</category>
		
			<category>dreamweaver</category>
		
			<category>webdesign</category>
		
			<category>css</category>
		
			<category>html</category>
		
	</item> <item>
		<title>By: ReiToei</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1220969</link>	
		<description>Edit: I don&apos;t have a lot of experience developing desktop applications barring some experience with Java/Swing. I do a lot of PHP and I&apos;m currently teaching myself Python.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1220969</guid>
		<pubDate>Thu, 31 Jan 2008 04:33:06 -0800</pubDate>
		<dc:creator>ReiToei</dc:creator>
	</item><item>
		<title>By: purephase</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1220975</link>	
		<description>Best of luck if you are using this as an educational experience. Most of the industry seems to overwhelming love &lt;a href=&quot;http://macrabbit.com/cssedit/&quot;&gt;CSS Edit&lt;/a&gt; (not free) for a lot of the reasons you stated above (plus a whole lot more).&lt;br&gt;
&lt;br&gt;
I would imagine that it would be fairly difficult to pull something like this off. One of the more interesting open source projects that I&apos;ve seen (if you&apos;re a Windows user) is &lt;a href=&quot;http://notepad-plus.sourceforge.net/uk/site.htm&quot;&gt;Notepad++&lt;/a&gt;. There is a fairly extensive plugin system for the application and a lot of language definition files. You could try to extend its CSS editing capabilities by either writing a plugin or modifying the language definition files (supposedly there is a lot of wiggle room in there).</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1220975</guid>
		<pubDate>Thu, 31 Jan 2008 04:44:19 -0800</pubDate>
		<dc:creator>purephase</dc:creator>
	</item><item>
		<title>By: aroberge</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1220980</link>	
		<description>If you are teaching yourself Python, have a look at wxPython (GUI library); download it *and* the separate comprehensive demo.  &lt;br&gt;
&lt;br&gt;
From memory (I have not used it in a couple of years...), the demo would show you:&lt;br&gt;
The scintilla based editor (stc_textcontrol or something like that ... ) can help you take care easily of 2) code coloring and 5) code formatting.  I&apos;m quite sure it has at least one example (probably more) of 3) color pickers, and likely 4) file pickers.&lt;br&gt;
&lt;br&gt;
Good luck!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1220980</guid>
		<pubDate>Thu, 31 Jan 2008 04:56:26 -0800</pubDate>
		<dc:creator>aroberge</dc:creator>
	</item><item>
		<title>By: malevolent</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221007</link>	
		<description>There are plenty of existing editors that might meet your requirements, e.g. I used to use &lt;a href=&quot;http://www.newsgator.com/Individuals/TopStyle/Default.aspx&quot;&gt;TopStyle Pro&lt;/a&gt; on Windows (not sure if it allows file-picking for backgrounds, but it certainly lets you drag images in from the sidebar to create img tags).</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221007</guid>
		<pubDate>Thu, 31 Jan 2008 05:37:48 -0800</pubDate>
		<dc:creator>malevolent</dc:creator>
	</item><item>
		<title>By: DJWeezy</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221022</link>	
		<description>Another vote for Notepad++.  I am pretty it can do everything you want with a couple of plugins.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221022</guid>
		<pubDate>Thu, 31 Jan 2008 05:55:06 -0800</pubDate>
		<dc:creator>DJWeezy</dc:creator>
	</item><item>
		<title>By: JJ86</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221031</link>	
		<description>Yet another vote for Notepad++. I use it almost exclusively for writing CSS and HTML. Excellent program.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221031</guid>
		<pubDate>Thu, 31 Jan 2008 06:13:22 -0800</pubDate>
		<dc:creator>JJ86</dc:creator>
	</item><item>
		<title>By: caution live frogs</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221040</link>	
		<description>I understand your desires. I had used the same HTML-oriented text editor for nearly as long as you&apos;ve been using Dreamweaver, and moving away from it was painful. (I ended up dropping it because the author rewrote the program in Java, and I absolutely hated the new version.) I still keep the old version around as it has a couple of features I haven&apos;t been able to find in other programs, but I&apos;ve probably opened it less than 10 times in the last two years.&lt;br&gt;
&lt;br&gt;
While the idea of taking the program you already like and creating a clone of the features you actually use sounds good, I don&apos;t know if you&apos;re going to be able to start from scratch as easily as you would be able to take an existing project and extend it. I&apos;d start by finding one of the open-source projects and look at the code. See what it has that you are missing, and add to it. The ability to add XPI-based extensions to Komodo seems like a really good place to start, as it&apos;s probably much easier to create add-ins to supplement what is already there than it is to parse the code of an entire project and start hacking. Plus, it&apos;s already cross-platform, and free, two of the things you mentioned you would like.&lt;br&gt;
&lt;br&gt;
Whatever you do, throw it up on Projects and let us know. While I&apos;ve found editors that are working for me for the most part (Notepad++ on Win and Textwrangler on OS X) my dream editor is still waiting to be created. Maybe what you want to create is exactly what I am looking for, too.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221040</guid>
		<pubDate>Thu, 31 Jan 2008 06:28:21 -0800</pubDate>
		<dc:creator>caution live frogs</dc:creator>
	</item><item>
		<title>By: advicepig</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221052</link>	
		<description>I use the &lt;a href=&quot;http://www.eclipse.org/pdt/&quot;&gt;PDT distribution of Eclipse.&lt;/a&gt; It has a lot of the html and php functions you describe and after some quality time with the preferences (of which there are many) I was much happier than when I used the source mode of Dreamweaver. And of course, as you mention in the [more inside], you could write whatever else you needed. Of course, every time I think I have an idea for what I need, I find it there under some preference I swear wasn&apos;t there last time.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221052</guid>
		<pubDate>Thu, 31 Jan 2008 06:46:34 -0800</pubDate>
		<dc:creator>advicepig</dc:creator>
	</item><item>
		<title>By: goingonit</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221066</link>	
		<description>1. Writing programs is (as you probably know) lots of fun! So I&apos;d just go for it, and I wouldn&apos;t be discouraged. However...&lt;br&gt;
&lt;br&gt;
2. If it were easy to do what you wanted to do, Adobe would have been out of business a long time ago. If the features you liked were easy to write, everyone would have them. So don&apos;t think you&apos;re going to get out of this without some serious thinking and some serious coding.  And &lt;a href=&quot;http://www.joelonsoftware.com/articles/fog0000000020.html&quot;&gt;this Joel Spolsky essay&lt;/a&gt; may shed some light on why your software is &quot;bloated&quot; but why that&apos;s necessary, too (short version: if they were to cut it down, they&apos;d be cutting features somebody couldn&apos;t live without--maybe you.)&lt;br&gt;
&lt;br&gt;
As for how you&apos;d actually go about this: I&apos;d be a bit worried about the scripting-based solutions. Experience has shown that when you start doing more complicated things (i.e. all the stuff you want) then 2 things happen: everything ends up being slow, and you start fighting the API. Also, the idea of doing syntax highlighting from JavaScript doesn&apos;t sound good at all.&lt;br&gt;
&lt;br&gt;
What I&apos;d do is pick a cross-platform GUI toolkit (probably &lt;a href=&quot;http://trolltech.com/products/qt&quot;&gt;QT&lt;/a&gt;) and a high-level scripting language (in my case &lt;a href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt; but only because of familiarity) and start writing a prototype. At some point, you may have to do two things to get the speed and versatility you want: 1) start writing C++ code and integrating it with Python; 2) start learning about the widget API for your GUI toolkit because you might have to write some non-standard widgets. So be prepared for these.&lt;br&gt;
&lt;br&gt;
Good luck!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221066</guid>
		<pubDate>Thu, 31 Jan 2008 07:02:26 -0800</pubDate>
		<dc:creator>goingonit</dc:creator>
	</item><item>
		<title>By: qxntpqbbbqxl</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221136</link>	
		<description>Color-picking and file-picking are easy.&lt;br&gt;
&lt;br&gt;
The other three items on your list require knowledge of lexing/parsing, so start looking for lexing/parsing engines and learn how to use them.  Lex and yacc are the canonical examples, but any modern language will have a 3rd-party package for doing this (ply for Python, ??? in Java)&lt;br&gt;
&lt;br&gt;
If I were you (which I&apos;m probably not), I&apos;d start with a text editor that built-in programmability and syntax coloring, e.g., Emacs (Lisp) or Vim (python-vim).  I suspect that the Eclipse framework is overkill for your application, but who knows?  [plus, I hate Java]</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221136</guid>
		<pubDate>Thu, 31 Jan 2008 08:19:09 -0800</pubDate>
		<dc:creator>qxntpqbbbqxl</dc:creator>
	</item><item>
		<title>By: ReiToei</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221192</link>	
		<description>Cheers for all the awesome advice and encouragement. If I can get my ass into gear and actually do this (everybody should have a pet project, after all) I will most definitely post it on projects. I tip my hat to thee, collective consciousness.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221192</guid>
		<pubDate>Thu, 31 Jan 2008 09:16:38 -0800</pubDate>
		<dc:creator>ReiToei</dc:creator>
	</item><item>
		<title>By: raildr</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221202</link>	
		<description>Check out &lt;a href=&quot;http://www.blumentals.net/webuilder/&quot;&gt;WeBuilder&lt;/a&gt;, I use it quite a lot and like it!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221202</guid>
		<pubDate>Thu, 31 Jan 2008 09:25:17 -0800</pubDate>
		<dc:creator>raildr</dc:creator>
	</item><item>
		<title>By: null terminated</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1221369</link>	
		<description>&lt;a href=&quot;http://www.wxwidgets.org/&quot;&gt;wxWidgets&lt;/a&gt; and wxstyledtextcontrol (which wraps scintilla) will let you do this.</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1221369</guid>
		<pubDate>Thu, 31 Jan 2008 11:25:50 -0800</pubDate>
		<dc:creator>null terminated</dc:creator>
	</item><item>
		<title>By: revmitcz</title>
		<link>http://ask.metafilter.com/82427/Dreamhacker#1222406</link>	
		<description>Sounds like &lt;a href=&quot;http://www.panic.com/coda/&quot;&gt;Coda&lt;/a&gt;, &lt;a href=&quot;http://macromates.com/&quot;&gt;TextMare&lt;/a&gt; or &lt;a href=&quot;http://bbedit.com/products/bbedit/&quot;&gt;BBEdit&lt;/a&gt; (plus plugins) could pretty much do what you&apos;re looking for. But that&apos;s a bit outside of your questions at hand.&lt;br&gt;
&lt;br&gt;
From my experience, people find an HTML/CSS coding program that works w/their comforts and they stick with it (much like you&apos;ve decided to use DW for what is basically a text editor). People will defend their choice vehemently and only occasionally try something different for a few minutes before writing it off because &lt;i&gt;&quot;it doesn&apos;t do feature X and I just can&apos;t live without feature X&quot;&lt;/i&gt;.&lt;br&gt;
&lt;br&gt;
I&apos;d honestly look at the the aforementioned suggestions from the users above, and see what about those programs people are really diggin&apos; on. Then, try to come up with a happy medium between features and bloat.&lt;br&gt;
&lt;br&gt;
If you wanna be really spiffy - make a &quot;lite&quot; version for free, but with less features and a &quot;full&quot; version with all the whizbang you can imagine, and charge for it. It&apos;s like heroin - hook &apos;em on the cheap/easy stuff first ;)&lt;br&gt;
&lt;br&gt;
Good luck!</description>
		<guid isPermaLink="false">comment:ask.metafilter.com,2008:site.82427-1222406</guid>
		<pubDate>Thu, 31 Jan 2008 23:36:54 -0800</pubDate>
		<dc:creator>revmitcz</dc:creator>
	</item>
	</channel>
</rss>
