+ Vous pouvez exporter les résultats de recherche en cliquant sur "exporter les résultats". +
+diff --git a/app/router.scrollBehavior.js b/app/router.scrollBehavior.js new file mode 100644 index 0000000..75cbd35 --- /dev/null +++ b/app/router.scrollBehavior.js @@ -0,0 +1,80 @@ +<% if (router.scrollBehavior) { %> +<%= isTest ? '/* eslint-disable quotes, semi, indent, comma-spacing, key-spacing, object-curly-spacing, space-before-function-paren */' : '' %> +export default <%= serializeFunction(router.scrollBehavior) %> + <%= isTest ? '/* eslint-enable quotes, semi, indent, comma-spacing, key-spacing, object-curly-spacing, space-before-function-paren */' : '' %> + <% } else { %>import { getMatchedComponents } from './utils' + + if (process.client) { + if ('scrollRestoration' in window.history) { + window.history.scrollRestoration = 'manual' + + // reset scrollRestoration to auto when leaving page, allowing page reload + // and back-navigation from other pages to use the browser to restore the + // scrolling position. + window.addEventListener('beforeunload', () => { + window.history.scrollRestoration = 'auto' + }) + + // Setting scrollRestoration to manual again when returning to this page. + window.addEventListener('load', () => { + window.history.scrollRestoration = 'manual' + }) + } + } + +export default function (to, from, savedPosition) { + // if the returned position is falsy or an empty object, + // will retain current scroll position. + let position = false + + // if no children detected and scrollToTop is not explicitly disabled + const Pages = getMatchedComponents(to) + if ( + Pages.length < 2 && + Pages.every(Page => Page.options.scrollToTop !== false) + ) { + // scroll to the top of the page + position = { x: 0, y: 0 } + } else if (Pages.some(Page => Page.options.scrollToTop)) { + // if one of the children has scrollToTop option set to true + position = { x: 0, y: 0 } + } + + // savedPosition is only available for popstate navigations (back button) + if (savedPosition) { + position = savedPosition + } + + const nuxt = window.<%= globals.nuxt %> + + // triggerScroll is only fired when a new component is loaded + if (to.path === from.path && to.hash !== from.hash) { + nuxt.$nextTick(() => nuxt.$emit('triggerScroll')) + } + + return new Promise((resolve) => { + // wait for the out transition to complete (if necessary) + nuxt.$once('triggerScroll', () => { + // coords will be used if no selector is provided, + // or if the selector didn't match any element. + if (to.hash) { + let hash = to.hash + // CSS.escape() is not supported with IE and Edge. + if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') { + hash = '#' + window.CSS.escape(hash.substr(1)) + } + try { + if (document.querySelector(hash)) { + // scroll to anchor by returning the selector + position = { selector: hash, offset: {x:0, y: 100} } + } + } catch (e) { + <%= isTest ? '// eslint-disable-next-line no-console' : '' %> + console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).') + } + } + resolve(position) + }) + }) + } +<% } %> diff --git a/assets/css/_markdown-style.scss b/assets/css/_markdown-style.scss index 48fa98a..c5ab8ae 100644 --- a/assets/css/_markdown-style.scss +++ b/assets/css/_markdown-style.scss @@ -11,6 +11,20 @@ font-size: 1.3em; } + h2 { + margin-bottom: 10px; + margin-top: 30px; + + ~ h3 { + margin-top: 20px; + } + } + + + h3 { + font-size: .975em; + } + img { margin-top: 20px; margin-bottom: 20px; @@ -96,7 +110,11 @@ } a { - color: $NIGHT_BLUE + color: $NIGHT_BLUE; + + &.external-link { + color: $TERNARY_COLOR + } } blockquote { diff --git a/components/Editor/RichTextEditor.vue b/components/Editor/RichTextEditor.vue index 384b20a..8e22673 100644 --- a/components/Editor/RichTextEditor.vue +++ b/components/Editor/RichTextEditor.vue @@ -124,6 +124,14 @@
diff --git a/components/Menu.vue b/components/Menu.vue index 9f9bdfd..d43e776 100644 --- a/components/Menu.vue +++ b/components/Menu.vue @@ -35,24 +35,31 @@ Bibliothèque + ++ Source Code ne serait rien sans son équipe d'administrateurs garantissant la maintenance de + contenus qualitatifs. Dans cette section nous allons aborder les différentes interfaces qu'un administrateur + pourra utiliser. +
+ + +
+ La gestion d'exercices fonctionne exactement comme la gestion de ses propres exercices. Reportez-vous donc à la
+ section
+
+
+ + En tant qu'administrateur, vous possédez néanmoins des foncionnalités additionnelles. + Laissez-nous vous les introduire. +
+ ++ Lorsque vous filtrez les ressources informatiques par tags et/ou par titre de recherche, vous pouvez exporter + tous les résultats correspondant à votre filtrage dans un fichier JSON. +
+ +
+
+ + Vous pouvez exporter les résultats de recherche en cliquant sur "exporter les résultats". +
++ Par rapport un à utilisateur classique, vous pouvez changer l'état d'une ressource informatique comme bon + vous semble (valide, non valide, en attente, archive, brouillon). +
+ ++ Vous pouvez aussi exporter sous format JSON toutes les ressources cochées. +
+ +
+ Vous pouvez créer, modifier ou valider des tags depuis l'interface de gestion
+
Utilisez le panneau latéral pour filtrer les tags par catégories ou par status. Vous pouvez aussi rechercher + des tags en utilisant le champ de recherche.
+ +Plusieurs informations sont disponibles pour identifier les tags :
+ +
+
+ La création de tag implique un nom et une catégorie à laquelle il appartient.
+ +
+
+
+ + La gestion des catégories se limite uniquement à la modification du titre ou la création d'une nouvelles + catégorie. La suppression est réservée au super-administrateur. +
+ +
+
+ la
+
+ La section de droite représente tous les exercices correspondants à vos critères de + recherche. Il vous suffit de scroller dans cette section afin de charger les exercices suivants. +
+ +
+
+ + La preview d'une ressource contient les informations suivantes : +
+ ++ Le panneau à onglets vous permet d'interagir avec votre interface pour charger les ressources informatiques. ++ +
+ Il existe dès lors 3 onglets : +
+ +Pour réinitialiser votre recherche, cliquez sur "réinitialiser la recherche" juste en dessous du titre + "Résultats de recherche". +
+ ++ Les filtres vous permettent d'affiner votre recherche de ressources informatiques. + Les tags que vous cochez apparaitront juste au dessus des résultats. Si vous voulez retirer un de vos choix, + il suffit de décocher un des tags en question ou de cliquer sur la croix du label représentant le tag + que vous avez sélectionné. +
+ +Vous pouvez réinitialiser votre recherche en cliquant sur la petite flèche présente dans le coin supérieur + droit du panneau filtres +
+ +
+
+ + Vous pouvez choisir plusieurs tags dans une même catégorie. Dans ce cas, la recherche vous donnera des + résultats comprenant au moins un des tags que vous avez sélectionné. +
+ ++ Lorsque vous sélectionnez un tag dans deux catégories différentes, la recherche prendra en compte + tous les exercices comprenant au moins un tag sélectionné dans chacune des catégories. +
+ +
+
+ Si vous possédez un compte, vous pouvez enregistrer votre sélection actuelle en cliquant
+ sur "Ajouter aux favoris". Le texte sera alors remplacé par une entrée texte
+ où vous pourrez fournir le nom de votre favori. Cliquez sur "Ok" lorsque vous êtes satisfait.
+ Votre nouveau favori apparaitra désormais dans
+ L'historique vous permet de naviguer à travers les recherches que vous avez précedemment effectuées. + Il restera disponible tout au long de votre session, après quoi il sera réinitialisé. +
+ ++ L'historique est utile pour revenir dans vos précedentes recherches, mais vous pouvez sauvegarder + votre sélection avec les favoris ! ++ +
+
+ + L'historique affiche vos recherches de la plus récente à la plus ancienne. Le titre de votre recherche + s'affichera en bleu tandis que les tags que vous avez sélectionnés seront affichés en mode "pêle-mêle", + séparés par une barre verticale (|). +
+ +Cet onglet est seulement disponible lorsque vous possédez un ++ +compte et que vous êtes connectés. +
+ Vos favoris précédemment créés apparaitront dans ce panneau. + Pour utiliser un de vos favoris, il suffit de cliquer sur un d'eux et la recherche s'actualisera + depuis la même page. +
+ +
+
+ + Vous pouvez supprimer ou modifier vos favoris depuis ce panneau en passant votre souri sur un favori, + puis en sélectionnant un des deux icônes qui se présentent à vous. +
+ +
+ La création d'un compte vous permet d'accéder à des fonctionnalités supplémentaires comme la création de
+
+ Nous vous recommandons de lire attentivement nos conditions + d'utilisation afin de prendre connaissance de vos droits et de nos droits. ++ +
+ C'est la forme la plus simple pour l'utilisation de la plateforme. Les droits de ce type d'utilisateur se
+ limitent à la navigation dans la
+ L'utilisateur est membre de l'application. Il possède donc un compte et peut participer au partage de
+ ressources informatiques sur la plateforme. L'utilisateur a la possibilité de créer
+ des
+ L'administrateur est un rôle capital car lui seul permet de garantir du contenu de qualité.
+ Il est chargé de valider les ressources informatiques soumises par les
+ utilisateurs, de valider les tags et de créer de nouvelles catégories de tags.
+ En plus de ces droits ci, l'administrateur possède bien évidement tous les droits
+ de l'
Nous allons parcourir les différentes options disponibles pour éditer la description.
+ +
+
+
+ Basiquement, le premier bloc de boutons sert à mettre en gras, italique, barré,
+ souligné le texte. Vous pouvez sélectionner la partie de texte que vous souhaitez modifier pour ensuite
+ cliquer sur le bouton correspondant au style demandé.
+
+
+ + Le deuxième bloc de boutons permet de structurer le texte en y ajoutant (dans l'ordre) paragraphe, + citation et séparateur horizontal. A noter que lorsque vous utiliser la citation, + vous devez taper deux fois sur la touche enter pour sortir de ce mode. +
+ +
+
+ + Le troisième bloc de boutons permet d'interragir avec deux types de listes : à puces ou ordonnées. + A noter que vous devez taper deux fois sur la touche enter pour quitter le mode liste. +
+ +
+
+ + L'avant-dernier bloc de boutons permet de styliser du code. Le premier bouton crée un bloc + de code. Il suffit d'insérer du code et l'éditeur reconnaitra automatiquement le langage pour appliquer la + coloration syntaxique. Actuellement, le bloc de code reconnait : javascript, css, java, python, cmake et + cs. Pour quitter le mode bloc de code, tapez sur shift + enter. + Le dernier bouton permet de mettre en évidence un mot en le soulignant. +
+ +Le dernier bloc permet de revenir en arrière ou en avant.
+ +
+ Les favoris vous permettent d'enregistrer vos critères de recherche (titre de recherche et
+ filtres) pour pouvoir les réutiliser par après, sans devoir parcourir le panneau de filtres pour effectuer
+ la même recherche. Vous pouvez uniquement utiliser les favoris si vous possédez un
+
+ Pour consulter vos favoris, rendez-vous sur cette
+
Vous pouvez gérer vos favoris en passant votre souri sur un de vos favoris. Deux icônes apparaitront, le + crayon permettant de modifier le favori et la poubelle permettant de le supprimer. A noter que + la modification vous renverra sur le formulaire de modification du favori. +
+
+
+ + Voici les différents champs à remplir : +
+ +Un code couleur vous est présenté pour vous tenir au courant du status des tags.
+ +
+
+
+
+ + Lorsque vous cliquez sur l'onglet "exercices", vous aurez accès à toutes les ressources informatiques + correspondant à votre recherche. +
+ +Vous pouvez consulter la ressource en passant votre souri sur un des élements et en cliquant sur "voir".
+Bienvenue dans l'espace dédié à l'utilisation de cette plateforme ! Vous trouverez ici toutes les informations + nécessaires et/ou utiles afin de pouvoir profiter de la meilleure expérience utilisateur possible.
+ ++ Dans le panneau latéral, vous retrouverez toutes les thématiques abordées dans ce tutoriel. +
+ +En voici un résumé :
+ +
+ Lorsque vous possédez un
+ La recherche fonctionne de la même manière que dans la
+ Pour parcourir toutes vos ressources, scrollez dans le tableau. Arrivé en bas de celui-ci, l'application + chargera les ressources suivantes (si il en reste). ++ +
+
+ Plusieurs informations sont disponibles pour identifier les ressources informatiques :
+ ++ Voici les différents états que peuvent prendre la ressource informatique : +
+ ++ Pour modifier l'état d'une ressource, cochez une ou plusieurs ressources. Une liste déroulante d'actions + apparaitra à coté du bouton de création d'exercice. Vous pourrez alors publier (envoyer pour révision), + mettre en brouillon ou archiver la/les ressource(s) sélectionnée(s). +
+
+
+ Si vous recherchez des informations sur l'utilisation de l'éditeur de texte pour composer + la description, reportez-vous+ +ici .
+ La fiche d'une ressource informatique est composée des éléments suivants : +
+ +
+
+
+ + Lorsque vous remplissez le champ titre et/ou ajoutez des tags, + le panneau à onglets "exercices" affiche tous les exercices similaires (au sens strict) à la fiche + que vous créez. Cela signifie que tous les exercices contenant le titre entré et TOUS les tags que vous + avez référencés seront ainsi présents dans ce panneau. +
+ +
+ Vous pourrez donc consulter ces exercices en passant votre souri sur un d'eux et puis en cliquant sur
+ "voir". Ceci ouvrira une autre page dans un nouvel onglet menant vers la
+
+ Pour ajouter des tags sur la ressource informatique, cliquez sur le bouton "commencez la sélection" ou + reportez-vous au panneau à onglets en cliquant sur l'onglet avec l'icône de filtre. +
+ +Un code couleur vous est présenté pour vous tenir au courant du status des tags.
+ ++ Une fois que vous êtes satisfait des changements, deux options s'offrent à vous : +
+ +Si vous possédez un compte administrateur, voici les options qui s'offrent à vous :
+ +
+ Les ressources informatiques sont le coeur de Source Code. Elles représentent toutes
+ les contributions émises par la communauté. Vous pouvez les consulter depuis la
+
Voici à quoi ressemble la structure d'une ressource informatique :
+ +
+
+ + Le panneau latéral contient tous les tags qui ont été ajoutés pour identifier la ressource. Plus il y en a, plus + cette dernière sera favorablement référencée sur la plateforme. +
+ ++ Dans la partie sources, vous pourrez télécharger un fichier zip si une archive a été déposée. + De la même manière, le créateur peut aussi mettre à disposition un lien externe à Source Code. +
+ ++ Notre plateforme ne fait que référencer des ressources informatiques et des exercices. + Vous ne pouvez donc pas résoudre directement depuis Source Code l'exercice ! ++ +
+ Sur la fiche de la ressource, vous pouvez donner une note sur la qualité de la ressource sur 5 étoiles. Il suffit
+ de cliquer sur une des étoiles pour donner votre score. (seulement si vous possédez un
+
+ Lorsque l'exercice vous appartient ou que vous êtes un administrateur, un bouton de modification + apparait dans le coin supérieur droit de la fiche de la ressource. Cliquer sur le bouton vous mènera sur le + formulaire de modification de la ressource. +
+ +