È possibile spostare l’opzione ‘Build Poll’ (su desktop) fuori dal menu extra e posizionarla accanto agli altri pulsanti di formattazione?
Come la tua richiesta su mobile, richiede una modifica un po’ più complessa, che non posso aggiungere a questo componente del tema. Tuttavia, dovrebbe essere fattibile su un componente personalizzato per desktop seguendo la logica presentata da angus e spirobel.
Come si fa a rimuovere il centro e allineare i pulsanti a sinistra e a destra?
Comunque, adoro questo componente.
Ciao!
Puoi aggiungere queste righe CSS al tuo tema o a un componente:
.align_center_button, .align_right_button, .align_justify_button {
display: none;
}
Immagino tu ti riferissi al pulsante di giustificazione, dato che l’allineamento a sinistra non è stato aggiunto nello stesso componente.
È possibile spostare tutti questi nuovi pulsanti all’interno del pulsante/menu Opzioni?
È possibile, ma dovrai scavare un po’ nel codice.
Nella sezione Desktop > Head troverai tutto il JavaScript; dovrai modificare alcune righe.
Ad esempio, il codice per un pulsante nella barra degli strumenti appare così:
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "underline_button",
group: "fontStyles",
icon: "underline",
perform: e => e.applySurround('[u]', '[/u]', 'underline_text')
});
});
Devi modificarlo utilizzando questo:
api.addToolbarPopupMenuOptionsCallback(() => {
return {
action: "underline",
icon: "underline",
label: "underline_button"
};
});
E aggiungi l’azione in questa parte:
api.modifyClass("controller:composer", {
actions: {
underline() {
this.get("toolbarEvent").applySurround('[u]', '[/u]', "underline_text");
},
floatleft() {
this.get("toolbarEvent").applySurround('[wrap="floatl"]\n', '\n[/wrap]', "float_left_text");
},
columns() {
this.get("toolbarEvent").applySurround('[wrap="columns"]\n', '\n[/wrap]', "columns_text");
}
}
});
La traduzione dovrebbe essere corretta.
Capirai subito se qualcosa non va, poiché Discourse mostra un messaggio di errore quando salvi le modifiche.
Ottimo componente @Steven
Sarebbe fantastico se potessimo avere anche H1, H2 e H3
È possibile aggiungere il [color] [/color] a questo componente del tema? Se sì, sarebbe perfetto, perché allora si potrebbe utilizzare il composer ufficiale bbcode+md di Discourse. Attualmente sto utilizzando la barra degli strumenti di formattazione + mdcomposer. Certo, potrei usare CSS per nascondere i pulsanti extra, ma ci sono aree in cui CSS non viene utilizzato, come nel pannello di amministrazione o nel plugin Custom Wizard di Pavilion. Il pulsante colore viene usato molto.
Questo è ciò che ho con CSS: (che è perfetto)
![]()
Questo è ciò che ho senza:
![]()
Il mio piano è creare un componente per chi non desidera un plugin. Tuttavia, creerò un ramo con il bbcode per i colori. Proverò tra qualche ora, se avrò tempo. Vi farò sapere quando sarà pronto e come installarlo.\n\nProbabilmente userò questo tempo per riorganizzare il componente del tema; preferisco un tc semplice di default. Utilizzerò un ramo con tutte le opzioni dotato di pulsanti per gli apici, e un ramo bbcode per chi ha il plugin bbcode ufficiale.
Grazie, i pulsanti per pedice/sopra indice sono uno dei motivi per continuare a usare l’editor Markdown, che altri plugin e componenti del tema non hanno. Il BBCode ufficiale include molte cose che non sono presenti nel plugin della barra degli strumenti di formattazione, come [spoiler] [/spoiler]. Per avere il meglio di entrambi i mondi, penso sia meglio mantenere il BBCode di Discourse e poi aggiungere i pulsanti di cui abbiamo bisogno tramite mdcomposer.
Non pensavo che i pulsanti degli script fossero popolari, li terrò nel componente di base.
Creerò alcuni rami: uno semplice con solo alcuni pulsanti di formattazione di base e un ramo per i colori che aggiunge un bbcode per i colori.
Ciao a tutti,
Volevo solo informarvi che è stata aggiunta una nuova branch color al compositore md. Ora potete utilizzare il plugin bbcode ufficiale di Discourse + il compositore md (branch color) + l’avviso spoiler di Discourse (sfocatura degli spoiler). Credo che questa sia la combinazione migliore disponibile per i pulsanti del compositore su Discourse.
C’è anche l’idea di aggiungere un selettore di colori utilizzando questa libreria gratuita:
Se qualcuno vuole dare una mano e sa come aggiungere un selettore di colori, sentitevi liberi di aiutare Steven!
Come potrei nascondere o rimuovere completamente alcuni di questi pulsanti? Ne abbiamo bisogno solo di pochi e ho notato che rimuovendo un pulsante non viene eliminato l’elemento corrispondente dall’elenco (rimane comunque uno spazio vuoto senza icona visibile).
Il modo migliore è aggiungere alcune righe di CSS al tuo tema corrente.
Ho fornito questi esempi per i pulsanti di allineamento, nel caso tu voglia rimuoverli:
.align_center_button, .align_right_button, .align_justify_button {
display: none;
}
Posso fornirti anche il codice CSS per i pulsanti specifici che desideri nascondere.
Ciao Steven, ottimo componente. Grazie per averlo condiviso!
Una domanda veloce: sarebbe possibile implementare alcuni pulsanti per aggiungere spazi unificati (ad esempio nbsp; ensp; emsp)? Cosa dovrei usare al posto di applySurround?
Alcuni membri della mia community hanno difficoltà a formattare i post (principalmente l’indentazione) e credo che sarebbe utile per loro.
Grazie!
Sì, puoi facilmente aggiungere un pulsante e, invece di applySurround, utilizzo addText
Ho questo vecchio esempio che puoi usare
api.onToolbarCreate(toolbar => {
toolbar.addButton({
id: "br_button",
group: "extras",
icon: "level-down-alt",
perform: e => e.addText('<br>', 'br_text')
});
});
Grazie! Questo risolverà il problema!
Hmm… Non sembra che tu abbia il barrato nella barra degli strumenti di formattazione di Discourse, ma qui sì. Preferisco comunque la barra degli strumenti di formattazione poiché ha tutto il resto e anche di più, ma mi piacerebbe avere il barrato come opzione. Cosa consigli, visto che la compatibilità tra questi due è un problema?
Potrei aggiungere un pulsante barrato nella barra degli strumenti del plugin, potrebbe essere rilevante in futuro.
Ci penserò, ma nel frattempo, puoi usare il plugin e aggiungere questo componente: GitHub - MonDiscourse/discourse-strikethrough: Add a strikethrough button in the composer
Aggiungerà un pulsante barrato nell’azione del menu popup, è compatibile con il plugin
Ho inviato una PR: https://github.com/MonDiscourse/md-composer-extras/pull/10 che, a meno che non abbia sbagliato una virgola o qualcosa del genere, dovrebbe risolvere
Per prevenire errori nei test, aggiungi una chiave `pluginId` alla tua chiamata `modifyClass`. Questo garantirà che la modifica venga applicata solo una volta.
