<Glazblog/>

Nvu

Lindows.com's new Web editor based on Mozilla Composer

Entries feed - Comments feed

Saturday 4 February 2012

25% rebate on BlueGriffon add-ons *today*

During 24 hours only starting right now, get a 25% rebate on BlueGriffon add-ons with coupon code MICHEL on www.bluegriffon.com.

Thursday 29 September 2011

BlueGriffon 1.2

I guess the title says it all :-) It's available here.

/* enjoy */

Friday 24 June 2011

*blushes*

"BlueGriffon has the potential to grow fast and catch up to the big boys" - MakeUseOf.com

Monday 6 June 2011

BlueGriffon 1.1 and CSS Pro Editor

BlueGriffon 1.1 was released a few minutes ago. We also released our new CSS Pro Editor add-on, probably one of the best CSS editor on the market with support for Media Queries, Shadows, 2D Transforms, Transitions, Multi-column Layout, Flex box, Web fonts and even a visual CSS 3 Selector builder.

Tuesday 10 May 2011

D Day

C'est le grand jour ! Dans environ deux heures, je lancerai le script de release de BlueGriffon 1.0. Cela sera annoncé sur le blog de bluegriffon.org.

Sunday 1 May 2011

Woooof

Et bien voilà, je viens de tagger BlueGriffon 1.0. Incroyable mais c'est la révision svn 666 ! :-) Bon, j'ai un sentiment de plénitude et d'épuisement qui me rappelle Nvu 1.0, il y a six ans déjà. En gros, j'aurai presque passé deux ans à plein temps sur BlueGriffon, pour un nouvel éditeur Wysiwyg propre, moderne, extensible réécrit from scratch et disposant son propre parser/serializer CSS. Donc woooof... Je prépare la Press Release, le site de vente des add-ons, et rassurez-vous je n'oublie pas les t-shirts pour les dix premiers chanceux de la Platinum Offer !

Il est l'heure de commencer enfin mon week-end (dimanche 20h), de m'ouvrir une bière, me poser dans le sofa et me dire que j'ai réussi à arriver avec BlueGriffon où je voulais. Enfin. Bonne soirée à tous :-)

Monday 4 April 2011

La fin est proche:-)

J'approche à grands pas de BlueGriffon 1.0... Je commence à être coutumier de ces projets de longue haleine, complexes, lourds et porteurs. Le Nitot va encore dire des horreurs sur moi :-) Composer, Nvu, Wengophone, PlanRestau et quelques autres. A chaque fois, le niveau d'angoisse monte peu à peu. Je n'ai pas derrière moi des équipe de build, de release, de QA, de marketing. Je sais que la fatigue aidant, une erreur se glissera tôt ou tard dans le process, une erreur qui ajoutera encore à l'angoisse et à la fatigue. C'est malheureusement inévitable mais bon, ça fait partie du boulot !

Pour l'instant, le feedback sur BlueGriffon est excellent et cela fait un plaisir intense. Il va falloir que je planifie une BlueGriffon 1.0 Party, que j'espère aussi sympa et décontractée que celle qui avait eu lieu pour Nvu 1.0 sur les Grands Boulevards à Paris !

Friday 11 February 2011

*blushes*

So you are a software implementor for the Web or an entrepreneur and you don't know who Nick Longo is? You should... In the Hall of Fame of the Web, his name has a place of choice. Not only is Nick the founder of one of the first Internet Cafés on the planet, but he's also the co-author of one of the very first HTML editors, CoffeeCup. You just have no idea how many CoffeeCups or add-ons to CoffeeCup he sold... I do. And I still can't believe the figures even if I know they are correct.

Today, I saw this appear in my twitter timeline:

Nick Longo about BlueGriffon

Thank you so much Nick!

Thursday 30 December 2010

BlueGriffon 0.8

I am glad to let you know BlueGriffon v0.8 is now available with an impressive changelog.

Thursday 16 December 2010

Conf JavaScript le 20 janvier 2011 à Paris ; BlueGriffon

Bloquez la date !!! Systematic organise une belle conf sur JavaScript le 20 janvier prochain après-midi et le programme (qui n'est pas encore disponible) sera alléchant ! J'y serai pour parler du développement de BlueGriffon. Modalités d'inscription et programme à venir.

Mise à jour : les inscriptions sont désormais ouvertes via le lien ci-dessus.

Friday 10 December 2010

145,858

BlueGriffon is now 121,325 lines of code... 145,858 if you count the commercial add-ons. Entirely written from scratch, empty intersection with Nvu/KompoZer. BlueGriffon still does not patch the trunk at all, it's a pure xulrunner-based app.

What's on my radar right now:

  • more UI for the main window ; one-click insertion of all HTML5 elements, the Table menu, the viewport's context menu, table cell fusion/explosion
  • the ActiveView add-on; polishing
  • the Table Layout add-on; polishing
  • the FlexBox Layout wizard; 10% done
  • the Project Manager add-on that will not only allow to publish in a project the current document but also all linked instances: stylesheets, images, documents, video, audio with URL rewriting if needed and nice helpers to keep your project organized; 80% done

Sunday 5 December 2010

BlueGriffon Meetup in Paris, 06-dec-2010

Rappel, BlueGriffon Meetup à Paris demain soir lundi 6 décembre, venez nombreux !

Wednesday 1 December 2010

More WebFonts news...

As I said earlier, Web Fonts are cool. One of the main web sites listing and delivering free Web Fonts is FontSquirrel. According to the web site, FontSquirrel has 544 web fonts ready for @font-face consumption. In fact a bit less than that because some fonts are commercial or not hosted by FontSquirrel. But still, 500+ free Web Fonts... A lot.

After a two hours nap I really needed because of my current lumbago (pain, pain, pain...), I started looking at FontSquirrel and I think I can add a super simple UI for all @font-face ready Web Fonts hosted by FontSquirrel to BlueGriffon. Nothing really complicated here but a bit of work. Should be ready in a week from now. This feature will be included in the free editor (i.e. you won't have to buy an add-on for that) and the code will be MPL'd. Stay tuned!

WebFonts news...

WebFonts only took off in 2009 but they are an old technology. WebFonts are cool. WebFonts allow better and nicer web sites. WebFonts are cool but free fonts are hard to find.

So I just added to BlueGriffon a UI to add fonts from the Google Font Directory to a document w/o having to deal with a single line of code, markup or CSS. See the result here. The resulting add-on (XPI) is free to download. :-)

Monday 22 November 2010

BlueGriffon M3 (0.7) and add-ons

Just a short note to let you know BlueGriffon M3 (0.7) was released a few hours ago. We also started selling our Platinum Add-ons offer. All our add-ons forever for 29.26€ (excl. VAT)! And only until the day we release BlueGriffon 1.0.

Wednesday 17 November 2010

BlueGriffon Meetup à Paris le 6 décembre

Comme proposé il y a quelque temps déjà sur Twitter, il y aura un meetup sur BlueGriffon le lundi 6 décembre de 17h à 19h dans une salle généreusement prêtée pour l'occasion par l'IRILL, 23, avenue d'Italie, 75013 Paris. Plusieurs choses :

  • la capacité de la salle est de 30 places ; premiers inscrits, premiers servis ; merci de ne vous inscrire que si vous êtes sûrs de venir ; inscription par mail à daniel AATT glazman DDOOTT org ; les inscrits seront listés au fur et à mesure ci-dessous
  • pour venir à l'IRILL : tout est là.
  • la langue sera le français
  • si vous avez des questions spécifiques que vous souhaitez voir discutées, envoyez-les par mail à l'adresse donnée dans le premier item ci-dessus

Encore tous mes chaleureux remerciements à Sylvestre Ledru et Roberto Di Cosmo pour la salle !

(si on a le temps, on pourra aussi parler CSS 3, W3C et tout ça)

  1. Jeremie Patonnier

Friday 12 November 2010

BlueGriffon add-ons

The BlueGriffon add-ons web site is not fully ready yet. But we would like to give you the opportunity not only to test our add-ons but also to contribute to the BlueGriffon project.
As you already know, the editor BlueGriffon is Open Source, free to download and use. To preserve the free nature of BlueGriffon, we sell add-ons enhancing your editing experience.

Starting 22-nov-2010 and ending the day we release BlueGriffon 1.0, you can get ALL our add-ons FOR LIFE for only 35€. All. Forever. Should we create and sell a new add-on that does not exist when you buy the package, no problem, you'll get it free just like the others as soon as we release it. There's an extra: the first ten subscribers will receive a FREE BlueGriffon 1.0 t-shirt when we release the product!

See here for more information.

Thursday 28 October 2010

BlueGriffon Meetup à Paris

On m'a suggéré de faire un meetup sur BlueGriffon à Paris début décembre. Cela serait si possible un vendredi soir, disons de 18 à 20H. Si vous êtes intéressé ET pensez venir si cela se fait, merci de laisser un commentaire pour le dire, j'ai besoin d'estimer combien de personnes seraient présentes.

Friday 8 October 2010

BlueGriffon Milestone 1

BlueGriffon logoI have released a first public version BlueGriffon, milestone 1 (v0.5), on Mac OS X, win32 and linux32. It's already stable enough to be used to a daily basis even if it's obviously not feature complete. Since BlueGriffon is the successor to Nvu (and KompoZer), let me highlight here the main differences between the two apps:

  • completely rewritten from scratch, zero line shared with Nvu/KompoZer
  • based on mozilla-central (Nvu was based on Gecko 1.7...) ; does not patch at all the trunk
  • CSS Properties panel offering control on all CSS 2.1 and implemented CSS 3 properties in Gecko 2, including CSS 3 multiple gradients, columns, shadows, transformations, transitions, flex box model. The underlying code is also much more robust than the old CaScadeS editor included in Nvu: it will automatically generate the necessary style rules in the last editable stylesheet in your document, embedded or included (in a file for the time being, http://.. links not handled yet)
  • there's now one source view per document, you're not forced any more to go through normal view to switch between two source documents
  • the Table Properties dialog was entirely rewritten. A lot of its features were buggy in Nvu/KompoZer and they now all work correctly.
  • there is a New Document Wizard in the File menu allowing the user to create a document using Yahoo! Grid Templates
  • SVG Edit, a superb SVG Editor that is an add-on to Firefox, is included
  • BlueGriffon can deal with HTML4, XHTML1, HTML5, XHTML5 documents
  • it already has UI for <video> and <audio> elements
  • it has an update manager able to tell you if a new version of BlueGriffon is available
  • uses Skywriter/Bespin for the source view ; the old hack based on the plaintextEditor is gone, finally
  • has zoom controls in the sidebar
  • some code written in C++ for Nvu moved to JavaScript, thanks to the dramatic speed increase of JS in Gecko
  • the horizontal and vertical rulers around the content area are now SVG-based
  • much better architecture allowing a wide set of add-ons
  • nicer table insertion panel

Known issues:

  • there are big issues with XUL content contained in an iframe itself inside a <panel> on linux; I had to downgrade the CSS Properties panel into a standalone window on Linux
  • the Insert and Format menus are still empty, the context menus on the content area and tabs are still empty, that's not a bug
  • the class dropdown menu in the format toolbar is horked

There is still a lot on the radar but after long months spent on the underlying architecture, I am now progressing at (I think) really fast pace. So don't be surprised if you see new public versions of BlueGriffon appear earlier than expected. On the radar for the coming 7 days

  • Insert menu, including all HTML 5 elements
  • fixing the class dropdown
  • Code Snippets add-on
  • content area's context menu
  • better jQuery integration in the New Document wizard

Yay!

Friday 6 August 2010

Wysiwyg editing is hard #1

You probably never asked yourself about it, but how complicated is the deletion of the selection in a markup-based Wysiwyg editor? In one single word: complicated.... I will try below to make you understand what a Wysiwyg markup-based editor does when you hit the delete key.

Let's take a simple example :

<h1>aa[aa</h1>
<ul>
<li>bbbb
   <ul>
     <li>cc]cc</li>
     <li>dddd</li>
   </ul>
</li>
<li>eeee</li>
</ul>

The selection is everything between the square brackets (included). Now the user hits the delete key. The natural algo for that is the following one (I'm not saying it's the only one; see DOMRange.extractContents to see another one):

  1. find all the "visible" nodes in the various ranges (here we have only one range) of the selection. A "visible" node is a text node or an empty element.
  2. split the start and end nodes of each range of the selection if necessary, for instance if these nodes are text nodes and the selection splits the nodes in two nodes of non-zero length.
  3. for each visible node in each range of the selection, remove the node and remove recursively all the parents if they are "removable". A "removable" parent is an empty element or, depending on its tag name, an element containing only text nodes made of whitespaces (/s in regexps); some elements are explicitely not "removable", body for instance.

This method is enough for the test case above and here's the expected result:

<h1>aa</h1>
<ul>
<li>
   <ul>
     <li>cc</li>
     <li>dddd</li>
   </ul>
 </li>
<li>eeee</li>
</ul>

But now imagine we have some markup that requires merging after the deletion of the selection. Here's one:

<ul>
<li>aaaa</li>
<li>bb[bb</li>
</ul>
<ul>
<li>cc]cc</li>
<li>dddd</li>
</ul>

What the user really expects here when the selection is deleted is the merging of the two ULs into one single list. We need then to improve a bit our algo above...

  1. find all the "visible" nodes in the various ranges (here we have only one range) of the selection. A "visible" node is a text node or an empty element.
  2. split the start and end nodes of each range of the selection if necessary, for instance if these nodes are text nodes and the selection splits the nodes in two nodes of non-zero length.
  3. traverse all ranges in our selection and preserve a list of all nodes traversed with the traversal direction (start, up, down, next)
Let's have an example here, and let's reuse the first example at the top of this article wih a h1 followed by a ul. The list of traversed nodes is then:
node
direction
"aa"
start
h1
up
ul
next
li
down
"bbbb"
down
ul
next
li
down
"cc"
down

For our examples of two adjacent lists, the list of traversed nodes is:

node
direction
"bb"
start
li
up
ul
up
ul
next
li
down
"cc"
down

But that's not all... There can be non-significant text nodes in the DOM between elements, like a carriage return between the two ULs. So to make sure we correctly merge during our deletion, the third step of our algo should be this one:

  1. for each node being an element and having a direction "next" in the list of traversed nodes above, find the previous "visible" sibling, discarding text nodes containing only white spaces if the element is a block. If the previous visible sibling is also an element and of same type than the reference node, and if these elements are "mergeable", then append all the children of the reference node to the previous visible node's children and delete the reference node. Two "mergeable" elements are for instance two paragraphs, or two h1 elements, or two dl elements; two inline text elements like span or strong are also mergable if

The rest of the algo is similar to what we did for the h1/ul example above:

  1. for each visible node in each range of the selection, remove the node and remove recursively all the parents if they are "removable". A "removable" parent is an empty element or, depending on its tag name, an element containing only text nodes made of whitespaces (/s in regexps); some elements are explicitelynot "removable", body for instance.
And then result is:
<ul>
<li>aaaa</li>
<li>bb</li>
<li>cc</li>
<li>dddd</li>
</ul>

Next time, we'll dive into some high-level functions like indentations or list creation.

- page 1 of 23