Menu

#2310 Bugs in MindMapHTMLWriter.java (with suggested solutions)

Next Release
fixed
nobody
None
normal
minor
Always
none
1.3.15, 1.5.5
Windows
x86
8.1, 10
2016-02-06
2016-01-24
No

Discussion

  • Yagiz Caparkaya

    Yagiz Caparkaya - 2016-01-24

    In MindMapHTMLWriter.java,

    line 301 - should be 'if (!fontStyle.equals(""))' like at line 290, instead of 'if (fontStyle != "")', otherwise 'if' block is never entered and closing '' tag is always ommitted, which causes a not well-formed HTML document to be built.

    line 426 - should be 'fileout.write(fontStyle(color, font));' instead of just 'fontStyle(color, font);', otherwise the returned string from fontStyle() function is completely ignored which makes its call nonlogical in that context and also renders '<style>' tag incomplete.

    Other than the above suggestions, in my opinion the logic about treating children as paragraphs with more than hardcoded '100' chars, should be completely omitted or otherwise be made parametric and optional.

    Lastly, in my own version of this file, I removed '~ ' from line 287, because I didn't understand its function in pasted HTML document, I think the output looks better without that addition, this is just my opinion.

    Kind Regards,

     
  • Dimitry Polivaev

    MindMapHTMLWriter.java was taken from FreeMind and just left as it was because nobody complained about it. I agree with all of your suggestions. Could you please upload your version of this file so that I can just replace the current one?

    Kind regards,
    Dimitry

     
  • Yagiz Caparkaya

    Yagiz Caparkaya - 2016-01-28

    Here it is.

    You'll notice that I also changed the scope of "<a>" tag (printed when a node contains link) to contain just the core text of the node, instead of including details and notes as part of the link text.

    Since I couldn't find out how to get font style for details and note sections of a node, I used the font style of core text to render them as well. A further improvement could be retrieving and using their own font styles instead. I'm willing to update the code again if you just give me a clue on how to retrieve them.

    Thank you a lot for your time, responsiveness and interest to update this part of code.

     

    Last edit: Yagiz Caparkaya 2016-01-28
  • Dimitry Polivaev

    Thank you.
    About your question: look at org.freeplane.features.text.TextController.registerDetailsTooltip() and org.freeplane.features.note.NoteController.registerNoteTooltipProvider(ModeController).

    It were great if you could fork the project from https://github.com/freeplane/freeplane using github fork button and create pull requests. But if you are not comfortable with git and github yet do not try too hard :)

    Regards,
    Dimitry

     
    • Yagiz Caparkaya

      Yagiz Caparkaya - 2016-02-01

      Ok, I will look at those classes and see if I can get something better regarding HTML formatting. Also I'll learn and use github if I have a better version of the file to post. But these might take some time. In the mean time, I compared visually and compiled / tested your version of file, visual comparison and test results look quite fine to me. We can proceed with your version.

      Thank you. :)

       
  • Dimitry Polivaev

    Could you please check if the version I upload here makes sense for you?
    Just compare it to yours and make the best out of the both.
    I am not really interested in testing it, but if you get it to de better job I would be happy to use your version.

    Regards,
    Dimitry

     
    • Yagiz Caparkaya

      Yagiz Caparkaya - 2016-02-01

      Hello,

      I compared visually and compiled / tested your version of the file against mine, visual comparison and test results look quite fine to me. We can proceed with your version. Thank you for your time. :)

      Kind Regards,

       
  • Dimitry Polivaev

    • status: new --> fixed
     
  • Dimitry Polivaev

    Version 1.5.6_03 I replaced old MindMapHTMLWriter by the version we discussed

     

    Last edit: Dimitry Polivaev 2016-02-06