Compare commits

...

7 Commits

Author SHA1 Message Date
Esenjin 2ec1ebccc6 Merge branch 'color'
# Conflicts:
#	desktop/head_tag.html
#	mobile/head_tag.html
2024-02-03 11:27:02 +01:00
Esenjin f5f36199e6 (-) éléments inutiles, (+) couleurs prédéfinies 2024-02-03 11:11:35 +01:00
iunctis.fr 43f2190a89
FIX: error on mobile javascript 2020-08-10 20:03:21 +02:00
iunctis.fr c521c18da4
Update head_tag.html 2020-08-10 15:26:49 +02:00
iunctis.fr c5b28c8651
Update head_tag.html 2020-08-10 15:24:38 +02:00
iunctis.fr 01de9708d0
Update settings.yml 2020-08-10 15:23:12 +02:00
iunctis.fr 1e889da3fd
Update settings.yml 2020-08-10 15:21:38 +02:00
4 changed files with 192 additions and 71 deletions

View File

@ -1,4 +1,4 @@
# MD Composer Extras
# MD Composer ~~Extras~~ Color Plus Ultra
This Discourse theme component adds formatting options to your Discourse composer.
@ -7,11 +7,12 @@ This Discourse theme component adds formatting options to your Discourse compose
* superscript
* subscript
* center
* align right
* ~~align right~~
* justify
* float left
* float right
* columns.
* ~~float left~~
* ~~float right~~
* ~~columns~~.
* Colorer le texte en bleu, rose, jaune, orange, rouge et vert.
These additions are responsive for desktops and phones, but not for horizon orientation or tablets. These additions have taken into consideration [Slick](https://github.com/discourse/Discourse-Slick-image-gallery), [Tiles](https://github.com/discourse/Discourse-Tiles-image-gallery), and [Events](https://github.com/angusmcleod/discourse-events) when determining what should be placed on the composer bar or in the composer pop out menu.
@ -63,3 +64,5 @@ I took some parts of the Iconified Header Links and Slick Image Gallery theme co
https://meta.discourse.org/t/iconified-header-links/86307 (adding fa5 icons in the theme component)
https://meta.discourse.org/t/slick-image-gallery/81952 (manager the translations inside the theme component)
Modification de la branche `color` pour l'ajout de couleurs prédéfinies par l'association Camélia Studio : https://camelia-studio.org

View File

@ -41,14 +41,6 @@ api.onToolbarCreate(toolbar => {
perform: e => e.applySurround('[wrap="center"]\n', '\n[/wrap]', 'align_center_text')
});
});
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "align_right_button",
group: "extras",
icon: "align-right",
perform: e => e.applySurround('[wrap="right"]\n', '\n[/wrap]', 'align_right_text')
});
});
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "align_justify_button",
@ -59,20 +51,70 @@ api.onToolbarCreate(toolbar => {
});
// EXTRAS
api.addComposerToolbarPopupMenuOption({
action: (toolbarEvent) => {
toolbarEvent.applySurround('[wrap="floatl"]\n', '\n[/wrap]', "float_left_text");
},
icon: 'indent',
label: 'float_left_button',
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "bleucolor",
icon: "palette",
label: "bleu_color_button"
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "rosecolor",
icon: "palette",
label: "rose_color_button"
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "jaunecolor",
icon: "palette",
label: "jaune_color_button"
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "orangecolor",
icon: "palette",
label: "orange_color_button"
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "rougecolor",
icon: "palette",
label: "rouge_color_button"
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "vertcolor",
icon: "palette",
label: "vert_color_button"
};
});
api.addComposerToolbarPopupMenuOption({
action: (toolbarEvent) => {
toolbarEvent.applySurround('[wrap="columns"]\n', '\n[/wrap]', "columns_text");
},
icon: 'columns',
label: 'columns_button',
api.modifyClass("controller:composer", {
actions: {
bleucolor() {
this.get("toolbarEvent").applySurround('[color=#068EEF]', '[/color]', "bleu_color_text");
},
rosecolor() {
this.get("toolbarEvent").applySurround('[color=#EF06A0]', '[/color]', "rose_color_text");
},
jaunecolor() {
this.get("toolbarEvent").applySurround('[color=#EFC906]', '[/color]', "jaune_color_text");
},
orangecolor() {
this.get("toolbarEvent").applySurround('[color=#EF8806]', '[/color]', "orange_color_text");
},
rougecolor() {
this.get("toolbarEvent").applySurround('[color=#EF0606]', '[/color]', "rouge_color_text");
},
vertcolor() {
this.get("toolbarEvent").applySurround('[color=#2A821C]', '[/color]', "vert_color_text");
},
}
});
// TEXTS
@ -92,10 +134,6 @@ translations.composer.align_center_button_title = settings.align_center_button;
translations.composer.align_center_text =
settings.align_center_text;
translations.composer.align_right_button_title = settings.align_right_button;
translations.composer.align_right_text =
settings.align_right_text;
translations.composer.align_justify_button_title = settings.align_justify_button;
translations.composer.align_justify_text =
settings.align_justify_text;
@ -112,12 +150,28 @@ translations.composer.subscript_button_title = settings.subscript_button;
translations.composer.subscript_text =
settings.subscript_text;
translations.columns_button = settings.columns_button;
translations.composer.columns_text =
settings.columns_text;
translations.composer.bleu_color_button_title = settings.bleu_color_button;
translations.composer.bleu_color_text =
settings.bleu_color_text;
translations.float_left_button = settings.float_left_button;
translations.composer.float_left_text =
settings.float_left_text;
translations.composer.rose_color_button_title = settings.rose_color_button;
translations.composer.rose_color_text =
settings.rose_color_text;
translations.composer.jaune_color_button_title = settings.jaune_color_button;
translations.composer.jaune_color_text =
settings.jaune_color_text;
translations.composer.orange_color_button_title = settings.orange_color_button;
translations.composer.orange_color_text =
settings.orange_color_text;
translations.composer.rouge_color_button_title = settings.rouge_color_button;
translations.composer.rouge_color_text =
settings.rouge_color_text;
translations.composer.vert_color_button_title = settings.vert_color_button;
translations.composer.vert_color_text =
settings.vert_color_text;
</script>

View File

@ -61,18 +61,26 @@ api.addToolbarPopupMenuOptionsCallback(() => {
};
});
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "bbcodecolor",
icon: "palette",
label: "bbcode_color_button"
};
});
api.modifyClass("controller:composer", {
actions: {
strikethrough() {
this.get("toolbarEvent").applySurround("<s>", "</s>", "strikethrough_text");
},
superscript() {
this.get("toolbarEvent").applySurround("<sup>", "</sup>", "superscript_text");
superscript() {
this.get("toolbarEvent").applySurround("<sup>", "</sub>", "superscript_text");
},
subscript() {
this.get("toolbarEvent").applySurround("<sub>", "</sub>", "subscript_text");
},
aligncenter() {
aligncenter() {
this.get("toolbarEvent").applySurround('[wrap="center"]\n', '\n[/wrap]', "align_center_text");
},
alignright() {
@ -83,6 +91,9 @@ api.modifyClass("controller:composer", {
},
floatleft() {
this.get("toolbarEvent").applySurround('[wrap="floatl"]\n', '\n[/wrap]', "float_left_text");
},
bbcodecolor() {
this.get("toolbarEvent").applySurround('[color=#222]', '[/color]', "bbcode_color_text");
}
}
});
@ -131,5 +142,9 @@ translations.composer.columns_text =
translations.float_left_button = settings.float_left_button;
translations.composer.float_left_text =
settings.float_left_text;
translations.bbcode_color_button = settings.bbcode_color_button;
translations.composer.bbcode_color_text =
settings.bbcode_color_text;
</script>

View File

@ -1,79 +1,128 @@
underline_button:
default: "Underline"
default: "Souligner"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
underline_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
align_center_button:
default: "Center"
default: "Centrer"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
align_center_text:
default: "Text"
description:
en: Enter the placeholder text that appears in the composer after the user clicks the button.
align_right_button:
default: "Align right"
description:
en: Enter the text for the title of the button in the composer.
align_right_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
align_justify_button:
default: "Justify"
default: "Justifier"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
align_justify_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
strikethrough_button:
default: "Strike-through"
default: "Barrer"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
strikethrough_text:
default: "Text"
description:
en: Enter the placeholder text that appears in the composer after the user clicks the button.
float_left_button:
default: "Float left"
description:
en: Enter the text for the title of the button in the composer.
float_left_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
superscript_button:
default: "Superscript"
default: "Exposant"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
superscript_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
subscript_button:
default: "Subscript"
default: "Indice"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
subscript_text:
default: "Text"
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
columns_button:
default: "Columns"
bleu_color_button:
default: "Colorer en bleu"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
columns_text:
default: "Use the closing tag to mark where the first column ends. The second column will autobreak."
bleu_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
rose_color_button:
default: "Colorer en rose"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
rose_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
jaune_color_button:
default: "Colorer en jaune"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
jaune_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
orange_color_button:
default: "Colorer en orange"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
orange_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
rouge_color_button:
default: "Colorer en rouge"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
rouge_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
vert_color_button:
default: "Colorer en vert"
description:
fr: Saisissez le texte du titre du bouton dans le compositeur.
en: Enter the text for the title of the button in the composer.
vert_color_text:
default: "Texte"
description:
fr: Saisissez le texte de remplacement qui apparaît dans le compositeur après que l'utilisateur ait cliqué sur le bouton.
en: Enter the placeholder text that appears in the composer after the user clicks the button.
Svg_icons:
type: 'list'
list_type: 'compact'
default: 'fa-align-center|fa-align-right|fa-align-justify|fa-strikethrough|fa-underline|fa-indent|fa-columns|fa-superscript|fa-subscript'
default: 'fa-align-center|fa-align-justify|fa-strikethrough|fa-underline|fa-indent|fa-superscript|fa-subscript|fa-palette'
description:
fr: "Inclure les classes d'icônes FontAwesome 5 pour chaque icône utilisée dans la liste."
en: "Include FontAwesome 5 icon classes for each icon used in the list."