Commit 0353bc25 authored by Jean Vintache's avatar Jean Vintache

Merge branch 'master' of gitlab.utc.fr:crozatst/hdoc

parents 58a8c866 d40d3e23
......@@ -30,7 +30,7 @@ This module is able to convert several [etherpad](http://etherpad.org/) files (e
- Chat
## Known bugs
Nested lists in lists are not supported
- Nested lists in lists are not supported
Example :
`<ul>
<li>
......@@ -41,6 +41,7 @@ Example :
</ul>
</li>
<ul>`
- As a consequence, etherpad indentation is not supported because it is coded as nested lists.
## TODO
- Markdown
......
......@@ -5,7 +5,7 @@ Conversion of Freemind file(s) (.mm) to Hdoc
Licence
-------
GPL3.0
http://www.gnu.org/licenses/gpl-3.0.txt
Credits
-------
......@@ -21,28 +21,25 @@ This project aims at converting mindmapping files to hdoc files.
User documentation
------------------
Use a terminal and go to the root of the folder (mindmapping_to_hdoc).
#1 : You want to convert SEVERAL Freemind files in Hdoc
- Put your files in a folder mindmapping_to_hdoc/input
- Enter the command line corresponding to your OS :
- On Linux : sh run.sh
- On Windows : run.bat
* Use a terminal and go to the root of the folder (mindmapping_to_hdoc).
* Please refer to the part *Rules to follow* to understand the rules that can help you to personalize the output
* Put your files in a folder 'mindmapping_to_hdoc/input'
* Enter the command line corresponding to your OS :
* On Linux : 'sh run.sh'
* On Windows : 'run.bat'
If you want to convert one specific file that is in the input folder, use the parameters ' -DinputPath input/<yourFilename>' (ex : 'sh run.sh -DinputPath input/<yourFilename>')
#2 : You want to convert ONE specific freemindFile in Hdoc
- Put your file in a folder mindmapping_to_hdoc/input
- Enter the command line corresponding to your OS :
- On Linux : sh run.sh -DinputPath input/<yourFilename>
- On Windows : run.bat -DinputPath input/<yourFilename>
*You will find the result of the conversion in the folder mindmapping_to_hdoc/output*
*You can find a sample file il the folder /samples.*
You will find the result in the folder mindmapping_to_hdoc/result
You can use the converter mindmapping_to_opale in order to create Opale contents.
Unsupported
-----------
* Convert color
* Convert icon into summary elements.
* headers (especially keywords) are partially supported.
* Convert icon into summary elements
Known bugs
----------
......@@ -53,9 +50,8 @@ Known bugs
Todo
----
* Get mindmap from Framamind
* Mindmap to lexique conversion
* Mindmap to optim conversion
* Mindmap to Lexique conversion
* Mindmap to Optim conversion
Technical notes
---------------
......@@ -66,9 +62,6 @@ You can comment the part of code where temp directory is deleted in order to vie
What is META-INF folder ?
This is a simple folder with a xml file named 'content.xml' that contains useful information for Opale. Every .scar archives must contain this file, what it exactly does is not the purpose of this project.
Freemind / HDOC
-- INSERT doc_language.md --
Capitalisation
--------------
Mindmapping to HDOC
===================
Mindmapping to Opale
=================
Conversion of Freemind file(s) (.mm) to Opale
Conversion of Freemind file(s) (.mm) to Opale (.scar)
# How to use the converter
## Licence
-------------------------------
http://www.gnu.org/licenses/gpl-3.0.txt
Use a terminal and go to the root of the folder (mindmapping_to_opale).
## Credits
-------------------------------
This section has been written by
#1 : You want to convert SEVERAL Freemind files in Opale
- Put your files in a folder mindmapping_to_opale/input
- Enter the command line corresponding to your OS :
- On Linux : sh run.sh
- On Windows : run.bat
* Thibault BROCHETON
* Bastien FREMONDIERE
* Amélie PERDRIAUD
#2 : You want to convert ONE specific freemindFile in Opale
- Put your file in a folder mindmapping_to_opale/input
- Enter the command line corresponding to your OS :
- On Linux : sh run.sh -DinputPath input/<yourFilename>
- On Windows : run.bat -DinputPath input/<yourFilename>
It is based on the work of Guillaume GOMEZ in 2014.
You will find the result in the folder mindmapping_to_opale/output
## Presentation
The project aims at converting Freemind files in Opale files.
IMPORTANT
=========
## Dependence
-------------------------------
In dependence with mindmapping_to_hdoc and hdoc_to_opale
## User documentation
-------------------------------
* Use a terminal and go to the root of the folder (mindmapping_to_opale).
* Please refer to the part *Rules to follow* to understand the rules that can help you to personalize the output
* Put your files in a folder 'mindmapping_to_opale/input'
* Enter the command line corresponding to your OS :
* On Linux : 'sh run.sh'
* On Windows : 'run.bat'
If you want to convert one specific file that is in the input folder, use the parameters ' -DinputPath input/<yourFilename>' (ex : 'sh run.sh -DinputPath input/<yourFilename>')
*You will find the result of the conversion in the folder mindmapping_to_opale/output*
*You can find a sample file il the folder /samples.*
### Rules to follow
You can use special rules in Freemind to personnalize your Scenari Module :
- By default, a "Division" is created with the name of the main node of your MindMap
- Then :
A node without children is transformed in grain content
A node with children is transformed in division
- You can add introduction and conclusion using the hashtag #intro and #conclu on all the node that has no child
- You can use #p to create a paragraph, and #a to create a link
- You can use the hashtag :
#rmk : a remark
#adv : an advice
#emph : an emphasis
#compl : a complement
#wrng : a warning
#ex : an example
#def : a definition
Then you can add some #p inside these node to create the content
- You can arrange the order of the node usine the hashtag #1, #2, #3 etc.
* By default, a "Division" is created with the name of the main node of your MindMap
* Then :
* A node without children is transformed in **grain content**
* A node with children is transformed in **division**
* You can add introduction and conclusion using the hashtag **#intro** and **#conclu** on all the node that has no child
* You can use **#p** to create a paragraph, and **#a** to create a link
* You can use some hashtags to create specific contents :
* **#rmk** : a remark
* **#adv** : an advice
* **#emph** : an emphasis
* **#compl** : a complement
* **#wrng** : a warning
* **#ex** : an example
* **#def** : a definition
* *Then you can add some **#p** inside these node to create the content*
- You can arrange the order of the node usine the hashtag **#1, #2, #3** etc.
## Unsupported
* Convert colors
* Convert icon into summary elements
* HTML node
## Known bugs
## TODO
* Develop new hashtags to create other type of Opale contents (such as QCM, self-evaluation etc.)
## Technicals notes
### Preamble
This subsection will explain precisely how the conversion process works. If you are reading this, we assume you are familiar with XML technologies seen in NF29 (i.e. ANT scripts, XSL-XSLT transformations and Hdoc format). We also recommend you to open sources files and read the comments.
Besides, the converter have been tested on recent ANT versions (> 1.7.0) only. It depends on hdoc_to_opale module.
### How does the converter works
This converter is using standard NF29 conversion project structure : a main ANT file (mindmapping_to_opale.ant), which handles routine tasks (zipping archives, copying files, order tasks), XSL-XSLT transformation scripts calls. This main ANT file is composed of several targets, and supports both Windows or Linux platforms.
This ant file is called by a script (run.sh or run.bat), with ou without parameters.
### Hdoc files
During the conversion process, the converter is using the converter mindmapping_to_hodc. The result of this conversion is also available in the folder output.
### What does the main ANT file do ?
* Delete and create folder temp, output, output/hdoc and output/scar
* Check if the OS is Windows or Mac, and call the appropriate target
* If there is no input path in parameters, it converts all the files present in the input folder
* It calls the converter mindmapping_to_hdoc to convert .mm files in .hdoc files.
* Copy the results of the conversion in the folder /output/hdoc
* It calls the converter hdoc_to_opale to convert .hdoc files in .scar files
* Copy the results of the conversion in the folder /output/scar
* Finally, clean temporary files
## Capitalization
### New technologies/languages discovered
* ANT
* XPath
* XSL-XSLT
### New IDEs/frameworks discovered
* Oxygen XML editor
* Scenario chain (Opale advanced)
\ No newline at end of file
......@@ -166,9 +166,6 @@
</for>
</target>
<!--<target name="hdoc_conversion" depends="hdoc_conversion.input-path, hdoc_conversion.no-input-path" />
-->
<target name="preparation">
<echo>Setting up the conversion</echo>
<delete dir="${basedir}/temp"/>
......@@ -182,25 +179,4 @@
<echo>--- End ----</echo>
</target>
<!-- Convert a mindMap file into a hdoc, with a xsl schema specified in the parameter -->
<target name="Makehdoc">
<echo>Begin data conversion</echo>
<mkdir dir="${basedir}/temp/${hdocName}"/>
<mkdir dir="${basedir}/temp/${hdocName}/META-INF"/>
<copy file="${basedir}/mimetype" tofile="${basedir}/temp/${hdocName}/mimetype"/>
<!-- create the container file with an XSLT transformation -->
<xslt classpath="lib/saxon9he.jar" in="${basedir}/${inputPath}"
out="${basedir}/temp/${hdocName}/META-INF/container.xml"
xslresource="${basedir}/xslt/makeContainer.xsl"/>
<!-- create the file which contains the freemind data converted-->
<xslt classpath="lib/saxon9he.jar" in="${basedir}/${inputPath}"
out="${basedir}/temp/${hdocName}/content.xml" xslresource="${basedir}/xslt/${myXSLT}"/>
<!-- zipping files as the hdoc format -->
<zip destfile="${resultFile}/${hdocName}.hdoc" basedir="${basedir}/temp/${hdocName}"/>
<!-- </condition> -->
<echo>end data conversion</echo>
</target>
</project>
......@@ -4,8 +4,7 @@ Optim to Hdoc
Licence
-------
License GPL3.0
http://www.gnu.org/licenses/gpl-3.0.txt
This project is under [GPL 3.0](http://www.gnu.org/licenses/gpl-3.0.txt).
Credits
......
......@@ -73,4 +73,6 @@ Technical notes
Capitalization
--------------
While working on this project, we have learned more about ANT scripting (more specifically bulding an multi-os script and running scripts by detecting the OS) and about problem solving in general (how to go from one specific need to a result).
......@@ -87,7 +87,11 @@ Concerning tables :
3 - Display complex tables as tables in Opale (not as extern files)
Technical notes
---------------
For images you can refer to the get-ressources-with-meta.xsl and official-meta.xml. Read the commentary and it will help you
to finish the to do task regarding images. These files are included just for the seek of Capitalization.
Be aware of the following things
---------------------------------------------------------
1 - Not all images have a metadata information (only the ones who )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment