etch
etch copied to clipboard
New compact menu system
Hi, I've made a compact system to hide some features. I use etch with a lot of features enabled (I had somes like a font color and soon a font size), and the width of the menu became too long. So I decided to find a trick to hide somes.
So I group some features in just one entry in the menu (example : justify-right, left and center in just one entry 'justifiy'). When you click on this entry, all the hidden features of this entry will be displayed (TODO : need to display on the other direction if no space available).
This system can improve your editor like some cowokers and clients calls [in french] "l'éditeur toutou" (means "the doggie editor" ... because it follows your mouse like a dog when you whistle it). For example, you can have a great editor to change the heading of the selection "h1, h2, h3, normal", ou the size of the text, of the font uses for the selection ... All of that in a small menu.
What do you think about this idea ? I also include a very ugly icon set for the entry I've created. Doing this takes me more time than code this feature ... So you can see this skill on photoshop !! Don't hesitate to change the icon for better ;-)
I will also maybe use this system to type the URL of a link (and to edit it when it's set).
As mentioned yesterday, I've made a font-size sytem with my compact menu. You can see that final size is totally customizable in CSS. This is not the system I want, I prefer just two button increase and decrease font-size but I didn't find a way to implement it with the execCommand instruction. Maybe, I'll do it in the future and if this system didn't match with my customer's want.
I'm now implementing a URL management system, with the same approach of the mini menu : an hidden input with the actual URL editable. I'll send you my work if you want (see my "link" branch if U want to see)
PS : I made better icons for the font-size feature ... Isn't it ? :D
FYI : Only test my work on Chrome OSX. I'll do more tests this week at my work (Windows, Linux on all browser).
Hi Pierre, sorry for the delay. Been really swamped. This is a really cool idea. I think what I want to do is implement some sort of plugin system to add on extra functionality like this. I want to keep the core etch.js as lean as possible. Is there any part of this that you don't think could be implemented in some sort of a mix-in?
Sorry to be insistent person, but in the next sprint (I work in SCRUM method), we need to implement this compact system. I want to preserve the compatibility with your work, that's why I propose this feature. I completely agree to preserve a very minimalist core.
My pull request contains 2 features : the compact system and the change font size. Maybe the compact menu can be extract as a plugin, but I'm not sure this feature needs a plugin system (to be sincere, I've no idea how to do this). the change size feature is just an example of implementation of the compact system.
Hi Pierre,
are theses features (including the font-size and font-colour) on your fork? They sound tres useful!
Hi,
yes the font size is included, but the font-color are just in my stash because I use a jquery color picker and I want to do myself ...