README.md 2.49 KB
Newer Older
Etienne Chognard's avatar
Etienne Chognard committed
1
# framapad2opale -- HDOC CONVERTER PROJECT
jcomedouteau's avatar
jcomedouteau committed
2 3 4
## License
[GPL 3.0](http://www.gnu.org/licenses/gpl-3.0.txt)
## Credits
Etienne Chognard's avatar
Etienne Chognard committed
5 6
- Boucaud Fabien
- Chognard Etienne
jcomedouteau's avatar
jcomedouteau committed
7 8
- Rit Gabrielle
- Vintache Jean
9 10
- Douteau Jean-Come
- Fecherolle Cecile (2014)
Jean Vintache's avatar
Jean Vintache committed
11 12

## Presentation
Etienne Chognard's avatar
Etienne Chognard committed
13
How to transform an framapad document in opale document.
Jean Vintache's avatar
Jean Vintache committed
14 15

Filepaths in this document are relative to this readme file.
Jean Vintache's avatar
Jean Vintache committed
16

jcomedouteau's avatar
jcomedouteau committed
17
## Dependence
Etienne Chognard's avatar
Etienne Chognard committed
18
- framapad2Hdoc
jcomedouteau's avatar
jcomedouteau committed
19
- Hdoc2Opale
Jean Vintache's avatar
Jean Vintache committed
20

jcomedouteau's avatar
jcomedouteau committed
21
## User Documentation
Etienne Chognard's avatar
Etienne Chognard committed
22 23
1. Download a framapad document in html format.
	1. Create or join a framapad document then export it in html format (Import/Export Button) in the `/input` directory (if the directory does not exists, you have to create it).
jcomedouteau's avatar
jcomedouteau committed
24 25 26 27
2. Execute the file `/run.bat` or `/run.sh` depending on the OS. A `.scar` file is created in the directory `/output`
*If the `/input` directory contains multiple files, they will be all treated.
3. Open the document with Opale
	1. Open Scenari, and choose "UTC-etu_opale" as distant depot.
Etienne Chognard's avatar
Etienne Chognard committed
28
	2. Go in the sandbox.
jcomedouteau's avatar
jcomedouteau committed
29 30
	3. Import your `.scar` file in the directory.
	4. Open the file Main.xml created.
Jean Vintache's avatar
Jean Vintache committed
31

Jean Vintache's avatar
Jean Vintache committed
32
## Unsupported
jcomedouteau's avatar
jcomedouteau committed
33 34 35
- MarkDown
- Timeline and author paternity
- Chat
Jean Vintache's avatar
Jean Vintache committed
36

Jean Vintache's avatar
Jean Vintache committed
37 38 39 40 41
## Known bugs
Nested lists in lists are not supported.

Here's an example :

jcomedouteau's avatar
jcomedouteau committed
42 43 44 45 46 47 48 49 50 51 52 53 54
`<ul>
	<li>
		<ul>
			<li>
			Never gonna give you up.
			</li>
		</ul>
	</li>
<ul>`

## TODO
- Work with markdown
- Correct nested lists
Jean Vintache's avatar
Jean Vintache committed
55

jcomedouteau's avatar
jcomedouteau committed
56
## Technical notes
Etienne Chognard's avatar
Etienne Chognard committed
57
### Description of framapad_to_hdoc.ant
jcomedouteau's avatar
jcomedouteau committed
58 59

#### Prelude
Jean Vintache's avatar
Jean Vintache committed
60 61
- Importation of necessary classes (antlib, htmlcleaner, jing)
- Creation of directories architecture tree
jcomedouteau's avatar
jcomedouteau committed
62 63

#### Transformations
Jean Vintache's avatar
Jean Vintache committed
64 65 66 67 68 69
- Use of htmlcleaner to transform the input file from html to xhtml. For more info, see http://htmlcleaner.sourceforge.net/index.php.
- Apply html2xhtml.xsl : this xsl extracts the content into <body> tags
- Apply html2xhtmlv1.xsl : this xsl is used as a fix and adds br tag at the end of lists (ul and ol)
- Apply html2xhtmlv2.xsl : this xsl surround text line with p tags and transforms non-hdoc tags into hdoc tags as s, u, strong tags.
- Apply html2xhtml3.xsl : this xsl is used as a fix, it deletes p tags when its child is ul or ol
- Apply xhtml2hdoc.xsl : this xsl transforms the content into hdoc structure
jcomedouteau's avatar
jcomedouteau committed
70 71

#### Post-transformations actions
Jean Vintache's avatar
Jean Vintache committed
72 73 74
- Build hdoc structure
- Jing checks if the output file is validated with the right rng schema
- Zip the directory into hdoc archive
jcomedouteau's avatar
jcomedouteau committed
75 76

## Capitalisation
77 78 79
We have to change how we get the input file:
1 Get the first file of the input directory
2 Make the run with the name of the file as parameter
Etienne Chognard's avatar
Etienne Chognard committed
80
Finally, ant should be changed to manage multiple entries