web-dev-qa-db-fra.com

Comment faire en sorte que blogger insère des balises <p> au lieu de <br> lorsque vous utilisez un éditeur de texte enrichi?

Je n'aime pas comment utiliser l'éditeur de texte enrichi de Blogger et appuyer sur Enter il insère un <br > au lieu d'un <p>. Y a-t-il un moyen de faire changer le comportement? Ou du moins existe-t-il un moyen d'insérer un <p> sans passer à l'onglet HTML?

J'utilise Blogger in draft , au fait. J'ai essayé à la fois l'ancien éditeur et le nouveau; et utiliser Press "Enter" for line breaks au lieu de Use <br /> tags n'aide pas.

J'ai également essayé de désactiver Convert Line breaks, décrit comme suit:

Si Oui est sélectionné, les retours uniques entrés dans l'éditeur de post seront remplacés par des tags uniques <br /> dans votre blog, et deux retours obligatoires seront remplacés par deux tags (<br /><br />).

10
Senseful

Ce comportement n'est pas configurable. L'éditeur actuel, l'éditeur de projet et l'éditeur "ancien" utilisent une combinaison de balises BR et DIV lorsqu'ils doivent utiliser des balises P.

C'est une décision ahurissante, et c'est totalement faux. Cela explique en grande partie les problèmes de rendu de paragraphe incohérent dans Blogger. Cela fonctionne peut-être dans IE, mais cela ne fonctionne pas systématiquement dans les navigateurs Web tels que Chrome et Safari.

Je pense que l'éditeur le plus récent insère deux balises BR consécutives, mais la plus ancienne insère un seul DIV et un seul BR.

Windows Live Writer de Microsoft fait les choses correctement, comme indiqué ci-dessus. MarsEdit pour OS X est moins cohérent. Je pense que si cela commence par un message rédigé par Blogger, cela crée une confusion entre les tags.

Je ressens ta douleur.

10
user6267

Je viens de découvrir que si vous publiez tout de suite votre billet de blog contenant des balises p au lieu de basculer vers l'onglet HTML, les balises p restent.

Exemple:

<p>
Here is a body text<br />
that is wrapped in p-tags<br />
</p>
  1. Aller à la vue HTML.
  2. Entrez le code ci-dessus.
  3. Cliquez sur le bouton Publier.

Si vous essayez de regarder le code dans l'onglet HTML, les balises p seront remplacées par des balises div.

4
E.G.

Une solution consiste simplement à utiliser un autre éditeur de texte enrichi. J'ai essayé Windows Live Writer qui utilise <p> au lieu de <br>.

1
Senseful

Eh bien, il n’ya aucun moyen de le configurer avec Blogger.

Mais ce que j'ai compris, c'est que cela peut être fait avec jQuery.

Pour ce faire, vous devez accéder à la zone des modèles et cliquer sur "Modifier le code HTML". Faites une recherche pour /body. Juste au-dessus, insérez <script src="http://code.jquery.com/jquery-1.10.1.min.js">, puis insérez <script></script>. Ce que vous avez maintenant, devrait être ceci:

some code
<script src='http://code.jquery.com/jquery-1.10.1.min.js'/>
<script>

This is where the jQuery calls will go.

</script>
&lt/body&gt;
some more code

Les appels jQuery appropriés peuvent être déterminés à partir de cette page dans laquelle ils donnent un exemple vous demandant presque exactement ce que vous voulez faire. Cet exemple a été copié ci-dessous (de http://api.jquery.com/contents/ )

<div class="container">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
  do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  <br><br>
  Ut enim ad minim veniam, quis nostrud exercitation ullamco
  laboris nisi ut aliquip ex ea commodo consequat.
  <br><br>
  Duis aute irure dolor in reprehenderit in voluptate velit
  esse cillum dolore eu fugiat nulla pariatur.
</div>

Nous pouvons utiliser la méthode .contents() pour convertir ce bloc de texte en trois paragraphes bien formés:

$( ".container" )
  .contents()
    .filter(function() {
      return this.nodeType === 3;
    })
      .wrap( "<p></p>" )
      .end()
    .filter( "br" )
    .remove();

Certes, vous devrez apporter de légères modifications à ce qui précède pour que cela fonctionne. Mais je vous laisse le soin de comprendre. :-)

0
merlinpatt