aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpacien2022-04-12 22:29:29 +0200
committerGitHub2022-04-12 22:29:29 +0200
commit87f2f631aec9ffbb794b5475a16353e873dbb2b7 (patch)
tree7bd0c65e680202b8c48ed9d875b9d0c45223b9e2
parenta6b4a520f16092f38d8d97d5d746aa6777b8ced5 (diff)
parent581029f1b15b51f90812a47b20bce454014da32a (diff)
downloadldgallery-87f2f631aec9ffbb794b5475a16353e873dbb2b7.tar.gz
Merge pull request #307 from ldgallery/pacien-20210704-markdown-item-handler
viewer: markdown item handler
-rw-r--r--compiler/src/ItemProcessors.hs6
-rw-r--r--compiler/src/Resource.hs3
-rw-r--r--example/src/Misc Media/Déclaration des Droits de l'Homme et du Citoyen de 1789.txt39
-rw-r--r--example/src/Misc Media/Universal Declaration of Human Rights.md159
-rw-r--r--example/src/Misc Media/Universal Declaration of Human Rights.txt157
-rw-r--r--example/src/gallery.yaml1
-rw-r--r--viewer/src/@types/ItemType.ts1
-rw-r--r--viewer/src/@types/gallery.d.ts8
-rw-r--r--viewer/src/components/item_handlers/LdMarkdownViewer.vue76
-rw-r--r--viewer/src/services/navigation.ts1
-rw-r--r--viewer/src/views/GalleryNavigation.vue1
-rw-r--r--viewer/src/views/SplashScreen.vue1
12 files changed, 293 insertions, 160 deletions
diff --git a/compiler/src/ItemProcessors.hs b/compiler/src/ItemProcessors.hs
index 476b7d7..fa99316 100644
--- a/compiler/src/ItemProcessors.hs
+++ b/compiler/src/ItemProcessors.hs
@@ -1,7 +1,7 @@
1-- ldgallery - A static generator which turns a collection of tagged 1-- ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery. 2-- pictures into a searchable web gallery.
3-- 3--
4-- Copyright (C) 2019-2020 Pacien TRAN-GIRARD 4-- Copyright (C) 2019-2021 Pacien TRAN-GIRARD
5-- 5--
6-- This program is free software: you can redistribute it and/or modify 6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as 7-- it under the terms of the GNU Affero General Public License as
@@ -36,6 +36,7 @@ import Files
36data Format = 36data Format =
37 PictureFormat 37 PictureFormat
38 | PlainTextFormat 38 | PlainTextFormat
39 | MarkdownFormat
39 | PortableDocumentFormat 40 | PortableDocumentFormat
40 | VideoFormat 41 | VideoFormat
41 | AudioFormat 42 | AudioFormat
@@ -56,7 +57,7 @@ formatFromPath =
56 ".gif" -> PictureFormat 57 ".gif" -> PictureFormat
57 ".webp" -> PictureFormat 58 ".webp" -> PictureFormat
58 ".txt" -> PlainTextFormat 59 ".txt" -> PlainTextFormat
59 ".md" -> PlainTextFormat -- TODO: handle markdown separately 60 ".md" -> MarkdownFormat
60 ".pdf" -> PortableDocumentFormat 61 ".pdf" -> PortableDocumentFormat
61 ".wav" -> AudioFormat 62 ".wav" -> AudioFormat
62 ".oga" -> AudioFormat 63 ".oga" -> AudioFormat
@@ -100,6 +101,7 @@ itemFileProcessor maxResolution =
100 processorFor PictureFormat Nothing = 101 processorFor PictureFormat Nothing =
101 transformThenDescribe copyFileProcessor getPictureProps 102 transformThenDescribe copyFileProcessor getPictureProps
102 processorFor PlainTextFormat _ = copyResource PlainText 103 processorFor PlainTextFormat _ = copyResource PlainText
104 processorFor MarkdownFormat _ = copyResource Markdown
103 processorFor PortableDocumentFormat _ = copyResource PDF 105 processorFor PortableDocumentFormat _ = copyResource PDF
104 processorFor VideoFormat _ = copyResource Video 106 processorFor VideoFormat _ = copyResource Video
105 processorFor AudioFormat _ = copyResource Audio 107 processorFor AudioFormat _ = copyResource Audio
diff --git a/compiler/src/Resource.hs b/compiler/src/Resource.hs
index f59eed6..804c9a1 100644
--- a/compiler/src/Resource.hs
+++ b/compiler/src/Resource.hs
@@ -1,7 +1,7 @@
1-- ldgallery - A static generator which turns a collection of tagged 1-- ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery. 2-- pictures into a searchable web gallery.
3-- 3--
4-- Copyright (C) 2019-2020 Pacien TRAN-GIRARD 4-- Copyright (C) 2019-2021 Pacien TRAN-GIRARD
5-- 5--
6-- This program is free software: you can redistribute it and/or modify 6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as 7-- it under the terms of the GNU Affero General Public License as
@@ -90,6 +90,7 @@ data GalleryItemProps =
90 { resource :: Resource 90 { resource :: Resource
91 , resolution :: Resolution } 91 , resolution :: Resolution }
92 | PlainText { resource :: Resource } 92 | PlainText { resource :: Resource }
93 | Markdown { resource :: Resource }
93 | PDF { resource :: Resource } 94 | PDF { resource :: Resource }
94 | Video { resource :: Resource } 95 | Video { resource :: Resource }
95 | Audio { resource :: Resource } 96 | Audio { resource :: Resource }
diff --git a/example/src/Misc Media/Déclaration des Droits de l'Homme et du Citoyen de 1789.txt b/example/src/Misc Media/Déclaration des Droits de l'Homme et du Citoyen de 1789.txt
new file mode 100644
index 0000000..135837e
--- /dev/null
+++ b/example/src/Misc Media/Déclaration des Droits de l'Homme et du Citoyen de 1789.txt
@@ -0,0 +1,39 @@
1Déclaration des Droits de l'Homme et du Citoyen de 1789
2
3Les représentants du peuple français, constitués en Assemblée nationale, considérant que l'ignorance, l'oubli ou le mépris des droits de l'homme sont les seules causes des malheurs publics et de la corruption des gouvernements, ont résolu d'exposer, dans une déclaration solennelle, les droits naturels, inaliénables et sacrés de l'homme, afin que cette déclaration, constamment présente à tous les membres du corps social, leur rappelle sans cesse leurs droits et leurs devoirs ; afin que les actes du pouvoir législatif et ceux du pouvoir exécutif, pouvant être à chaque instant comparés avec le but de toute institution politique, en soient plus respectés ; afin que les réclamations des citoyens, fondées désormais sur des principes simples et incontestables, tournent toujours au maintien de la Constitution et au bonheur de tous.
4
5En conséquence, l'Assemblée nationale reconnaît et déclare, en présence et sous les auspices de l'Être Suprême, les droits suivants de l'homme et du citoyen.
6
7Article premier - Les hommes naissent et demeurent libres et égaux en droits. Les distinctions sociales ne peuvent être fondées que sur l'utilité commune.
8
9Article 2 - Le but de toute association politique est la conservation des droits naturels et imprescriptibles de l'homme. Ces droits sont la liberté, la propriété, la sûreté et la résistance à l'oppression.
10
11Article 3 - Le principe de toute souveraineté réside essentiellement dans la Nation. Nul corps, nul individu ne peut exercer d'autorité qui n'en émane expressément.
12
13Article 4 - La liberté consiste à pouvoir faire tout ce qui ne nuit pas à autrui : ainsi, l'exercice des droits naturels de chaque homme n'a de bornes que celles qui assurent aux autres membres de la société la jouissance de ces mêmes droits. Ces bornes ne peuvent être déterminées que par la loi.
14
15Article 5 - La loi n'a le droit de défendre que les actions nuisibles à la société. Tout ce qui n'est pas défendu par la loi ne peut être empêché, et nul ne peut être contraint à faire ce qu'elle n'ordonne pas.
16
17Article 6 - La loi est l'expression de la volonté générale. Tous les citoyens ont droit de concourir personnellement ou par leurs représentants à sa formation. Elle doit être la même pour tous, soit qu'elle protège, soit qu'elle punisse. Tous les citoyens, étant égaux à ses yeux, sont également admissibles à toutes dignités, places et emplois publics, selon leur capacité et sans autre distinction que celle de leurs vertus et de leurs talents.
18
19Article 7 - Nul homme ne peut être accusé, arrêté ou détenu que dans les cas déterminés par la loi et selon les formes qu'elle a prescrites. Ceux qui sollicitent, expédient, exécutent ou font exécuter des ordres arbitraires doivent être punis ; mais tout citoyen appelé ou saisi en vertu de la loi doit obéir à l'instant ; il se rend coupable par la résistance.
20
21Article 8 - La loi ne doit établir que des peines strictement et évidemment nécessaires, et nul ne peut être puni qu'en vertu d'une loi établie et promulguée antérieurement au délit, et légalement appliquée.
22
23Article 9 - Tout homme étant présumé innocent jusqu'à ce qu'il ait été déclaré coupable, s'il est jugé indispensable de l'arrêter, toute rigueur qui ne serait pas nécessaire pour s'assurer de sa personne doit être sévèrement réprimée par la loi.
24
25Article 10 - Nul ne doit être inquiété pour ses opinions, mêmes religieuses, pourvu que leur manifestation ne trouble pas l'ordre public établi par la loi.
26
27Article 11 - La libre communication des pensées et des opinions est un des droits les plus précieux de l'homme ; tout citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l'abus de cette liberté dans les cas déterminés par la loi.
28
29Article 12 - La garantie des droits de l'homme et du citoyen nécessite une force publique ; cette force est donc instituée pour l'avantage de tous, et non pour l'utilité particulière de ceux à qui elle est confiée.
30
31Article 13 - Pour l'entretien de la force publique, et pour les dépenses d'administration, une contribution commune est indispensable ; elle doit être également répartie entre les citoyens, en raison de leurs facultés.
32
33Article 14 - Les citoyens ont le droit de constater, par eux-mêmes ou par leurs représentants, la nécessité de la contribution publique, de la consentir librement, d'en suivre l'emploi, et d'en déterminer la quotité, l'assiette, le recouvrement et la durée.
34
35Article 15 - La société a le droit de demander compte à tout agent public de son administration.
36
37Article 16 - Toute société dans laquelle la garantie des droits n'est pas assurée ni la séparation des pouvoirs déterminée, n'a point de Constitution.
38
39Article 17 - La propriété étant un droit inviolable et sacré, nul ne peut en être privé, si ce n'est lorsque la nécessité publique, légalement constatée, l'exige évidemment, et sous la condition d'une juste et préalable indemnité.
diff --git a/example/src/Misc Media/Universal Declaration of Human Rights.md b/example/src/Misc Media/Universal Declaration of Human Rights.md
new file mode 100644
index 0000000..f782366
--- /dev/null
+++ b/example/src/Misc Media/Universal Declaration of Human Rights.md
@@ -0,0 +1,159 @@
1# Universal Declaration of Human Rights
2
3## Preamble
4
5Whereas recognition of the inherent dignity and of the equal and inalienable rights of all members of the human family is the foundation of freedom, justice and peace in the world,
6
7Whereas disregard and contempt for human rights have resulted in barbarous acts which have outraged the conscience of mankind, and the advent of a world in which human beings shall enjoy freedom of speech and belief and freedom from fear and want has been proclaimed as the highest aspiration of the common people,
8
9Whereas it is essential, if man is not to be compelled to have recourse, as a last resort, to rebellion against tyranny and oppression, that human rights should be protected by the rule of law,
10
11Whereas it is essential to promote the development of friendly relations between nations,
12
13Whereas the peoples of the United Nations have in the Charter reaffirmed their faith in fundamental human rights, in the dignity and worth of the human person and in the equal rights of men and women and have determined to promote social progress and better standards of life in larger freedom,
14
15Whereas Member States have pledged themselves to achieve, in co-operation with the United Nations, the promotion of universal respect for and observance of human rights and fundamental freedoms,
16
17Whereas a common understanding of these rights and freedoms is of the greatest importance for the full realization of this pledge,
18
19Now, Therefore THE GENERAL ASSEMBLY proclaims THIS UNIVERSAL DECLARATION OF HUMAN RIGHTS as a common standard of achievement for all peoples and all nations, to the end that every individual and every organ of society, keeping this Declaration constantly in mind, shall strive by teaching and education to promote respect for these rights and freedoms and by progressive measures, national and international, to secure their universal and effective recognition and observance, both among the peoples of Member States themselves and among the peoples of territories under their jurisdiction.
20
21
22## Article 1.
23
24All human beings are born free and equal in dignity and rights. They are endowed with reason and conscience and should act towards one another in a spirit of brotherhood.
25
26## Article 2.
27
28Everyone is entitled to all the rights and freedoms set forth in this Declaration, without distinction of any kind, such as race, colour, sex, language, religion, political or other opinion, national or social origin, property, birth or other status. Furthermore, no distinction shall be made on the basis of the political, jurisdictional or international status of the country or territory to which a person belongs, whether it be independent, trust, non-self-governing or under any other limitation of sovereignty.
29
30## Article 3.
31
32Everyone has the right to life, liberty and security of person.
33
34## Article 4.
35
36No one shall be held in slavery or servitude; slavery and the slave trade shall be prohibited in all their forms.
37
38## Article 5.
39
40No one shall be subjected to torture or to cruel, inhuman or degrading treatment or punishment.
41
42## Article 6.
43
44Everyone has the right to recognition everywhere as a person before the law.
45
46## Article 7.
47
48All are equal before the law and are entitled without any discrimination to equal protection of the law. All are entitled to equal protection against any discrimination in violation of this Declaration and against any incitement to such discrimination.
49
50## Article 8.
51
52Everyone has the right to an effective remedy by the competent national tribunals for acts violating the fundamental rights granted him by the constitution or by law.
53
54## Article 9.
55
56No one shall be subjected to arbitrary arrest, detention or exile.
57
58## Article 10.
59
60Everyone is entitled in full equality to a fair and public hearing by an independent and impartial tribunal, in the determination of his rights and obligations and of any criminal charge against him.
61