2024-11-19 13:49:39 +01:00
:PROPERTIES:
:ID: 565d1a6a-2531-4f92-80b3-4fc161f7b850
:END:
#+title : changer-la-limite-de-caracteres-sur-son-instance-mastodon
#+post_ID : 1362
#+post_slug : changer-la-limite-de-caracteres-sur-son-instance-mastodon
#+post_url : https://www.ciperbliss.com/2019/changer-la-limite-de-caracteres-sur-son-instance-mastodon
#+post_title : Changer la limite de caractères sur son instance Mastodon
#+post_tags : mastodon, réseau social, FLOSS, dev, logiciellibre
#+post_type : post
#+post_mime_types :
#+post_guid : undefined
#+post_status : publish
#+post_date_published : <2019-12-11T20:27:10>
#+post_date_modified : <2020-06-18T17:28:54>
#+post_index_page_roam_id : fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9
#+retrieved_from_db_at : <2024-11-18 16:25:08>
* Changer la limite de caractères sur son instance Mastodon
:PROPERTIES:
:CUSTOM_ID: changer-la-limite-de-caractères-sur-son-instance-mastodon
:END:
La limite de caractères de Mastodon
([[https://www.cipherbliss.com/ ?s=mastodon][voir ici les autres articles
sur le sujet]]) est une contrainte que l'on peut définir plutôt
facilement, bien que cette personnalisation n'existe pas encore dans le
frontend administrateur. Vous trouverez la source correspondant au
[[https://framagit.org/tykayn/mastodon/blob/master/app/javascript/mastodon/features/compose/components/compose_form.js][fichier
compose_form.js]] sur framagit où j'héberge les sources de
[[https://mastodon.cipherbliss.com][Mastodon
Bliss]].il suffit de modifier le fichier
app/javascript/mastodon/features/compose/components/ *compose_form.js* et
changer la limite de 500 caractères en un nombre entier de votre choix.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
Pour faire quelque chose de propre vous devriez définir une propriété
locale au composant compose_form et la référencer. La version simple
consiste à faire un rechercher-remplacer. Mais je suis certain que faire
un peu plus propre est à la portée de beaucoup de
monde.dans la partie *propTypes,* ajoutez la
propriété
#+begin_example
maxTootCharsLimit : PropTypes.number,
#+end_example
définissez sa valeur par défaut, par exemple 7777
comme sur [[https://mastodon.cipherbliss.com ][Mastodon Bliss ]], dans
l'objet *defaultProps*
#+begin_example
static defaultProps = { showSearch : false, maxTootCharsLimit: 7777,};
#+end_example
et ensuite vous n'avez plus qu'a remplacer les "500"
par *this.props.maxTootCharsLimit*ligne
93
#+begin_example
if (isSubmitting || isUploading || isChangingUpload || length(fulltext) > this.props.maxTootCharsLimit || (fulltext.length !== 0 && fulltext.trim().length = == 0 && !anyMedia)) {
#+end_example
ligne 186 et 249:
#+begin_src prettyprint
const disabledButton = disabled || this.props.isUploading || this.props.isChangingUpload || length(text) > this.props.maxTootCharsLimit || (text.length != = 0 && text.trim().length = == 0 && !anyMedia);
#+end_src
#+begin_src prettyprint
<div className='character-counter__wrapper' ><CharacterCounter max={this.props.maxTootCharsLimit} text={text}/ >
#+end_src
Enfin, vous n'avez plus qu'a reconstruire votre
frontend avec la
commande*=RAILS_ENV=production bundler exec rake assets:precompile=* (éventuellement
vider le cache avec *bin/tootctl cache:clear* ), relancer le service
mastodon-web et le tour est joué. Si vous ne voyez pas de quoi je parle,
[[https://docs.joinmastodon.org/ ][regardez la doc ]]. (Ne soyez pas trop
pressé de bidouiller Mastodon si vous n'avez aucune idée de ce dont
parlent les deux dernières lignes hein
:D)[[https://www.cipherbliss.com/wp-content/uploads/2019/12/screenshot-mastodon.cipherbliss.com-2019.12.11-20_39_41.png ]]Dernière
modif a faire côté backend dans le validateur en
Ruby:app/validators/status_length_validator.rbchanger
la valeur de MAX_CHARS.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
#+begin_example
MAX_CHARS = 7777Et voilà, votre serveur Mastodon peut faire du macro-blogging.Si vous aimez bidouiller Mastodon et que vous souhaitez échanger à ce sujet à ce propos, venez donc faire un tour sur framateam Design Libre / UX / Mastodon, on sera ravi d'en causer. (voir ici les autres articles sur le sujetEnjaillez!