From 4d483292bab90796fac57ff1bbdd025219b1c852 Mon Sep 17 00:00:00 2001 From: ache Date: Thu, 17 Aug 2017 05:17:10 +0200 Subject: New website prototype --- Makefile | 12 -- article/article.m4 | 16 +++ article/duckduckgo_google_en_mieux.html | 199 -------------------------------- article/duckduckgo_google_en_mieux.m4 | 0 article/duckduckgo_google_en_mieux.md | 143 +++++++++++++++++++++++ article/intro.m4 | 4 + article/res/DuckDuckGo_Logo.png | Bin 0 -> 14784 bytes article/res/DuckDuckGo_Logo.svg | 70 +++++++++++ article/res/zeroClickBox1.png | Bin 0 -> 33536 bytes design/contenu.css | 176 +++++----------------------- design/design.css | 1 + headers.m4 | 10 ++ index.html | 71 ------------ index.m4 | 11 ++ left.m4 | 27 +++++ makefile | 58 ++++++++++ res/DuckDuckGo_Logo.png | Bin 14784 -> 0 bytes res/DuckDuckGo_Logo.svg | 70 ----------- res/acheLogo.svg | 27 +++++ res/gitLogo.svg | 1 + res/gith.svg | 2 - res/mastoLogo.svg | 1 + res/tw.svg | 21 ---- res/twit.svg | 17 --- res/twitterLogo.svg | 18 +++ res/wtf.svg | 28 ----- res/zeroClickBox1.png | Bin 33536 -> 0 bytes src/Id.hs | 19 +++ src/Secret.hs | 46 ++++++++ src/articleFilter.hs | 55 +++++++++ src/introFilter.hs | 51 ++++++++ 31 files changed, 588 insertions(+), 566 deletions(-) delete mode 100644 Makefile create mode 100644 article/article.m4 delete mode 100644 article/duckduckgo_google_en_mieux.html create mode 100644 article/duckduckgo_google_en_mieux.m4 create mode 100644 article/duckduckgo_google_en_mieux.md create mode 100644 article/intro.m4 create mode 100644 article/res/DuckDuckGo_Logo.png create mode 100644 article/res/DuckDuckGo_Logo.svg create mode 100755 article/res/zeroClickBox1.png create mode 100644 headers.m4 delete mode 100755 index.html create mode 100644 index.m4 create mode 100644 left.m4 create mode 100644 makefile delete mode 100644 res/DuckDuckGo_Logo.png delete mode 100644 res/DuckDuckGo_Logo.svg create mode 100644 res/acheLogo.svg create mode 100644 res/gitLogo.svg delete mode 100755 res/gith.svg create mode 100644 res/mastoLogo.svg delete mode 100755 res/tw.svg delete mode 100755 res/twit.svg create mode 100644 res/twitterLogo.svg delete mode 100755 res/wtf.svg delete mode 100755 res/zeroClickBox1.png create mode 100644 src/Id.hs create mode 100644 src/Secret.hs create mode 100644 src/articleFilter.hs create mode 100644 src/introFilter.hs diff --git a/Makefile b/Makefile deleted file mode 100644 index 4f485b8..0000000 --- a/Makefile +++ /dev/null @@ -1,12 +0,0 @@ - -install: - cp -R */ /var/www/ache - cp index.html /var/www/ache - mkdir /var/www/ache/git - [ -d /home/achessh/git/vim ] && ln -s /home/achessh/git/vim /var/www/ache/ - [ -d /share/shared ] && ln -s /share/shared /var/www/ache/shared - - -clean: - rm -R /var/www/ache/* - diff --git a/article/article.m4 b/article/article.m4 new file mode 100644 index 0000000..bd1d3d3 --- /dev/null +++ b/article/article.m4 @@ -0,0 +1,16 @@ + + + +include(headers.htm) + + + + +include(left.htm) + + +
+include(article/article.htm) +
+ + diff --git a/article/duckduckgo_google_en_mieux.html b/article/duckduckgo_google_en_mieux.html deleted file mode 100644 index a6f68d2..0000000 --- a/article/duckduckgo_google_en_mieux.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - DuckDuckGo, Google en mieux ? - - - - - - - - - - -
-
-

- DuckDuckGo, Google en mieux ?

-

- Posté le -

-
- - Logo Article -

- http://ache.one/res/DuckDuckGo_Logo.svg

-
-
- -
-
- Depuis un certain temps déjà, Google ne se consacre plus entièrement à son moteur de recherche. En effet, la firme est déjà bien implentée dans la plupart des pays occidentaux où elle est le site le plus visité. Mais la concurrence, elle, s'est développée. Les moteurs de recherches tels que DuckDuckGo évoluent avec le temps, jusqu'à devenir plus pratique et ergonomique que Google.
-

- DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidité et fonctionnalités innovantes, tout en conservant la vie privée de l'utilisateur

-
-
-
-

- Bang !

-
-
-

- Vous connaissiez le "I'm Feeling Lucky" de Google ("J'ai de la chance" en français). DuckDuckGo lui propose une fonctionnalité similaire du nom de "I'm Feeling Ducky". En effet, il suffit de placer un point d'exclamation ("bang" en anglais) dans les termes de votre recherche afin d'arriver directement sur le premier résultat. Mais ce n'est pas tout, sinon !Bang n'aurait rien d'innovant. DuckDuckGo permet d'accéder simplement à certains sites environs une centaine. Par exemple, "!wfr" permet d'afficher directement la page d'accueil de Wipipédia en Français ("!w" pour la version anglaise). On peut remarquer notamment "!sdz" qui permet d'afficher directement la page d'accueil du site du zéro. Il existe pour tous les sites couramment utilisés comme FaceBook par exemple ("!fb").
- Toujours pas convaincu ? !Bang peut également prendre des arguments dans ces !Bang afin de créer une véritable ligne de commande. On peut ainsi directement accéder à l'article DuckDuckGo de Wikipédia en français en tapants simplement "!wfr DuckDuckGo". Et cela fonctionne avec énormément de mot-clé comme "!ixquick", "!sp", "!g" (Google), "!answers", ...
-
- DuckDuckGo devient ainsi une véritable ligne de commande dans votre navigateur Web. De quoi satisfaire les adeptes de la console. D'ailleur de nombreux !Bang son adapté au developpement comme "!cpp" pour la man du C++ ou encore "!golang" pour une recherche dans la documentation de GO (le langage de programmation)
-
- Vous pouvez consulter la liste des - !Bang - en tappant "!Bang" dans DuckDuckGo.

-
-
-
-

- Zero Click Infobox

-
-

-
- ZéroClickBox -
- Mais qu'est-ce dont encore ce truc-là ? La Zéro Click Infobox, est une boite d'information apparaissant avant les premiers liens et qui essaye de vous apporter l'information que vous recherchez sans que vous ayez besoin de visiter un quelconque autre site. Pratique quand on est pressé. Elle vous propose également quelques liens utiles à tout début de recherche.
- Afin d'apporter l'information, la Zero Click Infobox va s'appuyer sur d'autres sites comme Wikipédia. Elle permet aussi comme la - calculatrice de Google - d'effectuer des calculs directement dans le champ de recherche. Là où DuckDuckGo innove, c'est dans la précision. En effet, Google se plante assez minablement dans des calculs simples pour des raisons des précisions. On connait tous le célèbre - "399 999 999 999 999 - 399 999 999 999 998 = 0" - de Google. Pour pallier ce problème de précision, DuckDuckGo va directement chercher sur WorlFramAlpha afin de faire les calculs les plus compliqués (Il traite cependant les plus simples).
- Mais quitte à utiliser WolframAlpha ... autant utiliser toutes les fonctionnalités disponibles ... C'est ce que propose DuckDuckGo. Ainsi, on peut retrouver certaines informations très rapidement "mass of jupiter" par exemple ou encore "base64 Hello World" qui donne directement "SGVsbG8gV29ybGQ=". Ce système de conversion marche également pour le binaire, rot13, SHA, ... Plus d'info et de fonctionnalités sur leur page d'information - tech Goodies - . Toutes les lister seraient trop long.
-

-
-
-

- Respect de la vie privée

-
-

-
- Contrairement à Google, DuckDuckGo respecte la vie privée de ses utilisateurs. DuckDuckGo reproche à Google de personnaliser les recherches et de créer une sorte de bulle qui réduit les résultats en fonction de vos centres d'intérèts et donc ainsi réduire le nombre d'information auxquelles vous avez accès. DuckDuckGo lui propose donc les mèmes résultats pour tous les utilisateurs. Voir la page - dontbubble.us - pour plus d'informations.
- Par ailleurs DuckDuckGo est totalement contre le tracking. Son slogan est d'ailleurs "Google tracks you. We don't." . D'ailleurs, DuckDuckGo n'utilise pas de Coockies (mis à part pour les préférences, mais il propose également une alternative aux Cookies par URL) et ne stocke aucun historique des requètes. Leur campagne - donttrack.us - essaye d'ailleurs d'ètre assez choquante.
- Encore plus de respect de la vie privée ? DuckDuckGo propose la recherche anonyme par l'utilisation de TOR. Ou comment arriver à l'anonymat le plus totale. Vous pouvez également utiliser la version HTTPS qui utilise donc une couche de chiffrement SSL pour que tout soit chiffré du début à la fin.
-

-
-

- Un Moteur de recherche proche de ses utilisateurs

-
-

-
- DuckDuckGo est le seul moteur de recherche que je connaisse aussi ouvert et aussi à l'écoute de ses utilisateurs. DuckDuckGo vous permets - d'ajouter vos propres !Bang - au site (s'il y a plusieurs demandes, ils l'ajouteront). C'est certainement comme cela qu'on peut retrouver "!sdz" comme !Bang.
- Pour les utilisateurs trouvant le moteur trop gourmand, DuckDuckGo propose également une version lite de son moteur de recherche. Celui-ci est cependant basique mais l'initiative est preuve de la bonne volonté de DuckDuckGo de vouloir bien faire.
- DuckDuckGo est aussi une petite communauté. En effet, en plus d'ètre totalement transparent sur leurs informations (code source, - info trafique - , ...), ils vous proposent mème de participer à l'amélioration du Wiki, de la traduction de DuckDuckGo, au développement du site, ou tout simplement de discuter sur des améliorations à apporter sur #duckduckgo sur Freenode. - Voir la plateforme de développement -

-
-
-

- DuckDuckGo est ainsi une véritable mine d'or. Proposant de nombreuses fonctionnalités innovantes. Il est de ce fait un des meilleurs moteurs de recherche du moment. Personnellement, je l'adopte. Je découvre de plus en plus de fonctionnalité en l'utilisant quotidiennement et ça fait vraiment plaisir de gagner chaque jour en ergonomie. DuckDuckGo vient récemment de dépasser le million de requètes par jour.
-
- Consulter la page d'accueil de DuckDuckGo pour plus d'info sur l'utilisation du moteur de recherche.
-

-
-
-
- -
- - diff --git a/article/duckduckgo_google_en_mieux.m4 b/article/duckduckgo_google_en_mieux.m4 new file mode 100644 index 0000000..e69de29 diff --git a/article/duckduckgo_google_en_mieux.md b/article/duckduckgo_google_en_mieux.md new file mode 100644 index 0000000..bb6c8b1 --- /dev/null +++ b/article/duckduckgo_google_en_mieux.md @@ -0,0 +1,143 @@ +DuckDuckGo, Google en mieux ? +=============== +![Logo DuckDuckGo](res/DuckDuckGo_Logo.svg){.fr}\ + + +Depuis un certain temps déjà, Google ne se consacre plus entièrement à +son moteur de recherche. En effet, la firme est déjà bien implentée dans +la plupart des pays occidentaux où elle est le site le plus visité. Mais +la concurrence, elle, s'est développée. Les moteurs de recherches tels +que DuckDuckGo évoluent avec le temps, jusqu'à devenir plus pratique et +ergonomique que Google. + +DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup +d'avenir. En effet, il allie rapidité et fonctionnalités innovantes, +tout en conservant la vie privée de l'utilisateur + + +### Bang ! + +Vous connaissiez le "I'm Feeling Lucky" de Google ("J'ai de la chance" +en français). DuckDuckGo lui propose une fonctionnalité similaire du nom +de "I'm Feeling Ducky". En effet, il suffit de placer un point +d'exclamation ("bang" en anglais) dans les termes de votre recherche +afin d'arriver directement sur le premier résultat. Mais ce n'est pas +tout, sinon !Bang n'aurait rien d'innovant. DuckDuckGo permet d'accéder +simplement à certains sites environs une centaine. Par exemple, "!wfr" +permet d'afficher directement la page d'accueil de Wipipédia en Français +("!w" pour la version anglaise). On peut remarquer notamment "!sdz" qui +permet d'afficher directement la page d'accueil du site du zéro. Il +existe pour tous les sites couramment utilisés comme FaceBook par +exemple ("!fb"). + +Toujours pas convaincu ? !Bang peut également prendre des arguments dans +ces !Bang afin de créer une véritable ligne de commande. On peut ainsi +directement accéder à l'article DuckDuckGo de Wikipédia en français en +tapants simplement "!wfr DuckDuckGo". Et cela fonctionne avec énormément +de mot-clé comme "!ixquick", "!sp", "!g" (Google), "!answers", ... + +DuckDuckGo devient ainsi une véritable ligne de commande dans votre +navigateur Web. De quoi satisfaire les adeptes de la console. D'ailleur +de nombreux !Bang son adapté au developpement comme "!cpp" pour la man +du C++ ou encore "!golang" pour une recherche dans la documentation de +GO (le langage de programmation) + +Vous pouvez consulter la liste des +[!Bang](https://duckduckgo.com/bang.html) en tappant "!Bang" dans +DuckDuckGo. + + +### Zero Click Infobox + +![ZéroClickBox](res/zeroClickBox1.png){.fr}\ + +Mais qu'est-ce dont encore ce truc-là ? La Zéro Click Infobox, est une +boite d'information apparaissant avant les premiers liens et qui essaye +de vous apporter l'information que vous recherchez sans que vous ayez +besoin de visiter un quelconque autre site. Pratique quand on est +pressé. Elle vous propose également quelques liens utiles à tout début +de recherche. + +Afin d'apporter l'information, la Zero Click Infobox va s'appuyer sur +d'autres sites comme Wikipédia. Elle permet aussi comme la [calculatrice +de Google](https://fr.wikipedia.org/wiki/Calculatrice_Google) +d'effectuer des calculs directement dans le champ de recherche. Là où +DuckDuckGo innove, c'est dans la précision. En effet, Google se plante +assez minablement dans des calculs simples pour des raisons des +précisions. On connait tous le célèbre ["399 999 999 999 999 - 399 999 +999 999 998 = +0"](http://www.google.com/search?&q=399999999999999+-+399999999999998) +de Google. Pour pallier ce problème de précision, DuckDuckGo va +directement chercher sur WorlFramAlpha afin de faire les calculs les +plus compliqués (Il traite cependant les plus simples). + +Mais quitte à utiliser WolframAlpha ... autant utiliser toutes les +fonctionnalités disponibles ... C'est ce que propose DuckDuckGo. Ainsi, +on peut retrouver certaines informations très rapidement "mass of +jupiter" par exemple ou encore "base64 Hello World" qui donne +directement "SGVsbG8gV29ybGQ=". Ce système de conversion marche +également pour le binaire, rot13, SHA, ... Plus d'info et de +fonctionnalités sur leur page d'information [tech +Goodies](http://duckduckgo.com/tech.html) . Toutes les lister seraient +trop long. + + +### Respect de la vie privée + +Contrairement à Google, DuckDuckGo respecte la vie privée de ses +utilisateurs. DuckDuckGo reproche à Google de personnaliser les +recherches et de créer une sorte de bulle qui réduit les résultats en +fonction de vos centres d'intérèts et donc ainsi réduire le nombre +d'information auxquelles vous avez accès. DuckDuckGo lui propose donc +les mèmes résultats pour tous les utilisateurs. Voir la page +[dontbubble.us](http://dontbubble.us/) pour plus d'informations. + +Par ailleurs DuckDuckGo est totalement contre le tracking. Son slogan +est d'ailleurs "Google tracks you. We don't." . D'ailleurs, DuckDuckGo +n'utilise pas de Coockies (mis à part pour les préférences, mais il +propose également une alternative aux Cookies par URL) et ne stocke +aucun historique des requètes. Leur campagne +[donttrack.us](http://donttrack.us/) essaye d'ailleurs d'ètre assez +choquante. + +Encore plus de respect de la vie privée ? DuckDuckGo propose la +recherche anonyme par l'utilisation de TOR. Ou comment arriver à +l'anonymat le plus totale. Vous pouvez également utiliser la version +HTTPS qui utilise donc une couche de chiffrement SSL pour que tout soit +chiffré du début à la fin. + + +### Un Moteur de recherche proche de ses utilisateurs + + +DuckDuckGo est le seul moteur de recherche que je connaisse aussi ouvert +et aussi à l'écoute de ses utilisateurs. DuckDuckGo vous permets +[d'ajouter vos propres !Bang](https://duckduckgo.com/newbang.html) au +site (s'il y a plusieurs demandes, ils l'ajouteront). C'est certainement +comme cela qu'on peut retrouver "!sdz" comme !Bang. + +Pour les utilisateurs trouvant le moteur trop gourmand, DuckDuckGo +propose également une version lite de son moteur de recherche. Celui-ci +est cependant basique mais l'initiative est preuve de la bonne volonté +de DuckDuckGo de vouloir bien faire. + +DuckDuckGo est aussi une petite communauté. En effet, en plus d'ètre +totalement transparent sur leurs informations (code source, [info +trafique](http://duckduckgo.com/traffic.html) , ...), ils vous proposent +mème de participer à l'amélioration du Wiki, de la traduction de +DuckDuckGo, au développement du site, ou tout simplement de discuter sur +des améliorations à apporter sur \#duckduckgo sur Freenode. [Voir la +plateforme de développement](https://dukgo.com/base/welcome) + + +DuckDuckGo est ainsi une véritable mine d'or. Proposant de nombreuses +fonctionnalités innovantes. Il est de ce fait un des meilleurs moteurs +de recherche du moment. Personnellement, je l'adopte. Je découvre de +plus en plus de fonctionnalité en l'utilisant quotidiennement et ça fait +vraiment plaisir de gagner chaque jour en ergonomie. DuckDuckGo vient +récemment de dépasser le million de requètes par jour. + + +Consulter la page d'accueil de DuckDuckGo pour plus d'info sur +l'utilisation du moteur de recherche. + diff --git a/article/intro.m4 b/article/intro.m4 new file mode 100644 index 0000000..be1b945 --- /dev/null +++ b/article/intro.m4 @@ -0,0 +1,4 @@ +
+undivert(article/intro.htm) +Lire la suite +
diff --git a/article/res/DuckDuckGo_Logo.png b/article/res/DuckDuckGo_Logo.png new file mode 100644 index 0000000..780a444 Binary files /dev/null and b/article/res/DuckDuckGo_Logo.png differ diff --git a/article/res/DuckDuckGo_Logo.svg b/article/res/DuckDuckGo_Logo.svg new file mode 100644 index 0000000..4b53b6e --- /dev/null +++ b/article/res/DuckDuckGo_Logo.svg @@ -0,0 +1,70 @@ + + + + + + + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/article/res/zeroClickBox1.png b/article/res/zeroClickBox1.png new file mode 100755 index 0000000..db92266 Binary files /dev/null and b/article/res/zeroClickBox1.png differ diff --git a/design/contenu.css b/design/contenu.css index 8bcca83..0b7dc48 100755 --- a/design/contenu.css +++ b/design/contenu.css @@ -1,67 +1,21 @@ - -#article { - border-top: 3px solid #eaeaea; - border-top: 3px solid rgba(51, 51, 51, 0.1); - padding: 1.6em 0; - border-color: #eaeaea !important; /* Make sure color schemes don't affect to print */ - margin-left: 10px; -} -#contenu_top -{ - font-size: 1.5em; - font-weight: bold; - font-family: OpenSymbol, "Vemana2000", serif; - text-shadow: 0 2px 0 #FFF; - line-height: 250%; - color: #121311; -} -#info_article { - margin-right: 2%; - margin-left: 3%; - text-indent: 3%; - float: left; - width: 95%; -} -#suite { - float: right; - color: #121212; - font-size: 0.9em; +section p { + text-indent: 10%; } -#autres_articles a -{ - display: inline-block; - text-indent: 30px; - text-decoration: none; - font-style: italic; - font-size: 0.9em; - outline: none; - color: #3322F0; -} -#autres_articles a:hover -{ - color: #222299; -} -#autres_articles:before { - content: "______________________________"; -} -#autres_articles a:before { - //content: ">_"; -} -#autres_articles h4 -{ - text-indent: 10px; - font-style: italic; +section p:nth-of-type(2) { + margin-top: 2.5%; + padding-left: 6%; + text-indent: 5%; + font-size: 0.65em; + color: #944040; } -#autres_articles -{ - float: left; - - width: 100%; - top: 0px; - text-align: center; - margin-bottom: 20px; +section p:first-of-type { + margin-top: 2.5%; + padding-left: 6%; + text-indent: 5%; + font-size: 0.65em; + color: #944040; } -#contenu +article { margin-right: 2%; margin-left: 3%; @@ -72,17 +26,10 @@ padding-right:0%; padding-left:0%; padding: 1.6em 1.6em; - - } + @media only screen and (min-width: 768px) { - #autres_articles - { - float: none; - width: auto; - background: #f1f1f1; - } - #contenu { + article { float: none; margin-right: 7%; margin-left: 390px; @@ -97,85 +44,22 @@ border-color: #eaeaea !important; margin-top: 50px; } - #info_article { - padding-left: 290px; - } -} -#contenu_ -{ - height: auto; -} -#contenu_ p -{ - font-size: 1em; -} -#contenu_ h3 -{ - color: #6b633e; } + @media only screen and (min-width: 768px) { -#contenu_ h3 {font-size: 1.4em;} -#contenu_top2 {font-size: 1.5em;} -} -#intro -{ - margin-top: 2.5%; - padding-left: 6%; - text-indent: 5%; - font-size: 0.65em; - color: #944040; -} -#intro:first-letter -{ - font-size: 1.3em; - color: #bf5353; - font-weight: bold; + section p:first-of-type { + margin-top: 2.5%; + padding-left: 6%; + text-indent: 5%; + font-size: 0.65em; + color: #944040; + } } -#conclusion -{ - margin-top: 2.5%; - padding-left: 6%; - text-indent: 5%; - font-size: 0.9em; - color: #575883; -} -#contenu_ p -{ - text-indent: 6%; -} -#contenu_ a -{ - text-decoration: none; - outline: none; -} -#contenu_ a:hover -{ - font-style: italic; -} -.lireLaSuite { - float: left; - width: 135px; - opacity:0.8; - font-size: 0.6em; - font-weight: bold; - font-family: monospace, serif; - text-shadow: 0 1px 0 #DDD; - color: #888888; -} -.lireLaSuite a { - color: #888888; - outline: none; - text-decoration: none; -} - - -#foot_cloud +.miniature { - background-image: url(../cloud.svg); - position: absolute; - background-position:bottom left; - width: 100%; height: 150px; - position: absolute; - margin: 45px 0px 0px 0px; + float:left; + width:100px; + height:100px; } + diff --git a/design/design.css b/design/design.css index 9179437..9fe45ef 100755 --- a/design/design.css +++ b/design/design.css @@ -55,3 +55,4 @@ img { margin: 0 auto; max-width: 100%; } + diff --git a/headers.m4 b/headers.m4 new file mode 100644 index 0000000..7b4232a --- /dev/null +++ b/headers.m4 @@ -0,0 +1,10 @@ + + + DuckDuckGo, Google en mieux ? + + + + + + + diff --git a/index.html b/index.html deleted file mode 100755 index 4ab7277..0000000 --- a/index.html +++ /dev/null @@ -1,71 +0,0 @@ - - DuckDuckGo, Google en mieux ? - -
Logo Article

/res/DuckDuckGo_Logo.svg

DuckDuckGo, Google en mieux ?

Posté le

-
-
-
- Depuis un certain temps déjà, Google ne se consacre plus entièrement à son moteur de recherche. En effet, la firme est déjà bien implentée dans la plupart des pays occidentaux où elle est le site le plus visité. Mais la concurrence, elle, s'est développée. Les moteurs de recherches tels que DuckDuckGo évoluent avec le temps, jusqu'à devenir plus pratique et ergonomique que Google.
-

- DuckDuckGo est un moteur de recherche assez jeune mais qui a beaucoup d'avenir. En effet, il allie rapidité et fonctionnalités innovantes, tout en conservant la vie privée de l'utilisateur

-
-
- -
-
- diff --git a/index.m4 b/index.m4 new file mode 100644 index 0000000..cb65624 --- /dev/null +++ b/index.m4 @@ -0,0 +1,11 @@ + + + + +include(headers.htm) + + +include(left.htm) + +include(articles.htm) + diff --git a/left.m4 b/left.m4 new file mode 100644 index 0000000..7f8ed44 --- /dev/null +++ b/left.m4 @@ -0,0 +1,27 @@ + diff --git a/makefile b/makefile new file mode 100644 index 0000000..b9e9794 --- /dev/null +++ b/makefile @@ -0,0 +1,58 @@ + +ALL_ARTICLES=$(wildcard article/*.md) +ALL_ARTICLES_OUT=$(ALL_ARTICLES:.md=.html) +ALL_ARTICLES_INTRO_OUT=$(ALL_ARTICLES:.md=_intro.html) +BASE_HTML=left.htm headers.htm articles.htm + +all: $(ALL_ARTICLES_OUT) index.html bin/articleFilter bin/introFilter clean + + +bin/articleFilter: src/articleFilter.hs src/Id.hs + mkdir -p bin + mkdir -p /tmp/articleFilter + ghc -dynamic $< -isrc -outputdir /tmp/articleFilter -o $@ + +bin/introFilter: src/introFilter.hs src/Id.hs + mkdir -p bin + mkdir -p /tmp/introFilter + ghc -dynamic $< -isrc -outputdir /tmp/introFilter -o $@ + + +article/%.html: article/%.md bin/articleFilter $(BASE_HTML) + pandoc --filter bin/articleFilter $< > ${@:.html=.htm} + cat ${@:.html=.htm} | m4 > $@ + +NUMBERS = 1 2 3 4 + +article/%_intro.html: article/%.md bin/introFilter + pandoc --filter bin/introFilter $< > ${@:.html=.htm} + cat ${@:.html=.htm} | m4 -D linkFileNameArticle=${<:.md=.html} > $@ + +articles.htm: $(ALL_ARTICLES_INTRO_OUT) bin/introFilter + cat $(ALL_ARTICLES_INTRO_OUT) > $@ + + + +index.html: index.m4 $(BASE_HTML) + m4 $< > $@ + +left.htm: res/twitterLogo.svg res/mastoLogo.svg res/gitLogo.svg res/acheLogo.svg left.m4 + m4 left.m4 > left.htm + +headers.htm: headers.m4 + m4 headers.m4 > headers.htm + +clean: + rm -f $(BASE_HTML) + rm -f articles.html + rm -f $(ALL_ARTICLES:.md=_intro.htm) + rm -f $(ALL_ARTICLES:.md=.htm) + +mrproper: + rm -f bin/* + rm -f index.html + rm -f $(ALL_ARTICLES_OUT) + rm -f $(ALL_ARTICLES_INTRO_OUT) + + + diff --git a/res/DuckDuckGo_Logo.png b/res/DuckDuckGo_Logo.png deleted file mode 100644 index 780a444..0000000 Binary files a/res/DuckDuckGo_Logo.png and /dev/null differ diff --git a/res/DuckDuckGo_Logo.svg b/res/DuckDuckGo_Logo.svg deleted file mode 100644 index 4b53b6e..0000000 --- a/res/DuckDuckGo_Logo.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - -image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/acheLogo.svg b/res/acheLogo.svg new file mode 100644 index 0000000..a77efe5 --- /dev/null +++ b/res/acheLogo.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/gitLogo.svg b/res/gitLogo.svg new file mode 100644 index 0000000..4374097 --- /dev/null +++ b/res/gitLogo.svg @@ -0,0 +1 @@ + diff --git a/res/gith.svg b/res/gith.svg deleted file mode 100755 index 52f1543..0000000 --- a/res/gith.svg +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/res/mastoLogo.svg b/res/mastoLogo.svg new file mode 100644 index 0000000..2041502 --- /dev/null +++ b/res/mastoLogo.svg @@ -0,0 +1 @@ + diff --git a/res/tw.svg b/res/tw.svg deleted file mode 100755 index 3d81a91..0000000 --- a/res/tw.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/res/twit.svg b/res/twit.svg deleted file mode 100755 index 2662a80..0000000 --- a/res/twit.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - \ No newline at end of file diff --git a/res/twitterLogo.svg b/res/twitterLogo.svg new file mode 100644 index 0000000..19ae1a5 --- /dev/null +++ b/res/twitterLogo.svg @@ -0,0 +1,18 @@ + + + diff --git a/res/wtf.svg b/res/wtf.svg deleted file mode 100755 index e264a77..0000000 --- a/res/wtf.svg +++ /dev/null @@ -1,28 +0,0 @@ - diff --git a/res/zeroClickBox1.png b/res/zeroClickBox1.png deleted file mode 100755 index db92266..0000000 Binary files a/res/zeroClickBox1.png and /dev/null differ diff --git a/src/Id.hs b/src/Id.hs new file mode 100644 index 0000000..adc7e2e --- /dev/null +++ b/src/Id.hs @@ -0,0 +1,19 @@ +module Id +( newId, + nextId +) where + +{- + - + - Écrit par Hédy GIRAUDEAU + - 27/07/17 + - +-} + +import Data.IORef +import Data.Functor + +type Id_number a = IORef a + +newId = (newIORef 0) +nextId cnt = modifyIORef cnt (+1) >> (+0) <$> readIORef cnt diff --git a/src/Secret.hs b/src/Secret.hs new file mode 100644 index 0000000..7b428ce --- /dev/null +++ b/src/Secret.hs @@ -0,0 +1,46 @@ +module Secret +( to_secret +) where + + +{- + - + - Écrit par Hédy GIRAUDEAU + - 27/07/17 + - +-} + + + +import Text.Pandoc +import Text.Pandoc.JSON + + +firstLine :: [Inline] -> ([Inline],[Inline]) +firstLine [] = ([],[]) +firstLine ((SoftBreak) : x) = ([], x) +firstLine (x:q) = ([x] ++ y, z) where (y,z) = (firstLine q) + + + + +to_secret (BlockQuote (Para (Str(first) : inlines) : blocks)) = + Div + ("", ["secret"], []) + ([ + RawBlock (Format "html") + (start_detail ++ start_summary) + ] ++ [Plain $ fLine] ++ [ + RawBlock (Format "html") + (end_summary) + ] ++ [ Plain rest ]++ blocks ++ [ + RawBlock (Format "html") + (end_detail) + ] + ) + where start_detail = "
" + start_summary = "" + end_detail = "
" + end_summary = "" + (fLine, rest) = firstLine inlines + diff --git a/src/articleFilter.hs b/src/articleFilter.hs new file mode 100644 index 0000000..a94cd3d --- /dev/null +++ b/src/articleFilter.hs @@ -0,0 +1,55 @@ +import Text.Pandoc +import Text.Pandoc.JSON +import Control.Monad.State +import Id + + +{- + - Écrit par Hédy GIRAUDEAU + - 27/07/17 +-} +extractStart :: [Inline] -> ([Inline],[Inline]) +extractStart [] = ([],[]) +extractStart ((SoftBreak):q) = ((SoftBreak):y, z) where (y,z) = (extractStart q) +extractStart ((LineBreak):q) = ((LineBreak):y, z) where (y,z) = (extractStart q) +extractStart (img@(Image _ _ _):q) = (img: y, z) where (y,z) = (extractStart q) +extractStart x = ([],x) + + + + +transformBlock cnt ( hdF@(Header 1 _ inlines) : paraF@(Para inlinesP) : blocks ) = + return (( (RawBlock (Format "html") + ( start_header ) + ) : hdF : + (RawBlock (Format "html") + ( end_header ) + ) : (Plain inlinesP) : + (RawBlock (Format "html") + ( end_intro ) + ) : blocks + ) ++ [ (RawBlock (Format "html") + (end_article) ) + ]) + where start_header = "
" + end_header = "
" + end_intro = "" + end_article = "
" + +--transformBlock _ ((Para inlines):tl) = +-- return ((Plain plainInline):(Para paraInline:tl)) +-- where (plainInline, paraInline) = extractStart(inlines) + + +transformBlock _ x = return x + + +bar :: Pandoc -> IO Pandoc +bar x = do cnt <- newId + bottomUpM (transformBlock cnt) x + +main :: IO() +main = toJSONFilter bar + + +-- vim:set et: diff --git a/src/introFilter.hs b/src/introFilter.hs new file mode 100644 index 0000000..93603c0 --- /dev/null +++ b/src/introFilter.hs @@ -0,0 +1,51 @@ +import Text.Pandoc +import Text.Pandoc.JSON +import Control.Monad.State +import Id + + +{- + - Écrit par Hédy GIRAUDEAU + - 27/07/17 +-} +firstPara :: [Block] -> [Block] +firstPara [] = [] +firstPara (p@(Para x):blocks) = [(Para x)] +firstPara (x:blocks) = (firstPara blocks) + +setMignature (id, classes, mapsAttrib) = (id, "miniature":classes, mapsAttrib) + + +purgePara (Para (Image x y (trgt,title):_)) = (Para [(Image (setMignature x) y ("article/" ++ trgt, title))]) +purgePara (Para (x:t)) = purgePara (Para t) +purgePara (Para []) = (Para []) + +transformBlock cnt ( hdF@(Header 1 _ inlines) : paraF@(Para inlinesP) : blocks ) = + return (( (RawBlock (Format "html") + ( start_header ) + ) : hdF : + (RawBlock (Format "html") + ( end_header ) + ) : purgePara(paraF) : firstPara(blocks) + ) ++ [ (RawBlock (Format "html") + (end_article) ) + ]) + where start_header = "
" + end_header = "
" + end_intro = "" + end_article = "
" + + + +transformBlock _ x = return x + + +bar :: Pandoc -> IO Pandoc +bar x = do cnt <- newId + bottomUpM (transformBlock cnt) x + +main :: IO() +main = toJSONFilter bar + + +-- vim:set et: -- cgit v1.2.3