Jak zmusić blogger do wstawiania tagów <p> zamiast <br> przy użyciu edytora tekstu sformatowanego?

10

Nie podoba mi się, jak kiedy korzystam z edytora tekstu sformatowanego w Bloggerze i naciskam, Enterże wstawia <br >zamiast <p>. Czy jest jakiś sposób na zmianę zachowania? A przynajmniej jest jakiś sposób na wstawienie <p>bez przełączania na kartę HTML?

Nawiasem mówiąc, korzystam z Bloggera w wersji roboczej . Próbowałem zarówno starego edytora, jak i nowego; i używanie Press "Enter" for line breakszamiast Use <br /> tagsnie pomaga.

Próbowałem także wyłączyć Convert Line breaks, co jest opisane jako:

Jeśli wybierzesz Tak, pojedyncze twarde zwroty wprowadzone w Edytorze postów zostaną zastąpione pojedynczymi <br />tagami na blogu, a dwa twarde zwroty zostaną zastąpione dwoma tagami ( <br /><br />).

Rozsądny
źródło
Brzydki obejście, ale jeśli chcesz się pozbyć podwójnych podziały wiersza można ukryć drugi <br/>z reguły CSS jak br+br {display: none}​w Theme > Edit HTML gdzie znajdziesz kilka styli pod<head><b:skin><![CDATA[...
ccpizza

Odpowiedzi:

10

Tego zachowania nie można skonfigurować. Zarówno bieżący edytor, edytor wersji roboczej, jak i „stary” edytor używają kombinacji znaczników BR i DIV, gdy powinny używać znaczników P.

To zadziwiająca decyzja i jest całkowicie błędna. Wyjaśnia wiele problemów z niespójnym renderowaniem akapitów w Bloggerze. Być może działa w IE, ale nie działa konsekwentnie w przeglądarkach internetowych, takich jak Chrome i Safari.

Myślę, że najnowszy edytor wstawia dwa kolejne tagi BR, ale starszy wstawił jeden DIV i jeden BR.

Program Windows Live Writer firmy Microsoft działa poprawnie, jak wspomniano powyżej. MarsEdit dla OS X jest mniej spójny, myślę, że jeśli zacznie się od posta napisanego przez Bloggera, spowoduje to zamieszanie tagów.

Czuję twój ból.

użytkownik6267
źródło
Ale czy Live Writer może edytować istniejący post? Ponieważ wiele osób, w tym ja, lubi publikować artykuł, czytać i polerować.
Gqqnbig
4

Właśnie się dowiedziałem, że jeśli od razu opublikujesz swój post na blogu zawierający p-tagi zamiast przełączania się na kartę HTML, p-tagi pozostaną.

Przykład:

<p>
Here is a body text<br />
that is wrapped in p-tags<br />
</p>
  1. Przejdź do widoku HTML.
  2. Wpisz powyższy kod.
  3. Kliknij przycisk Publikuj.

Jeśli spróbujesz spojrzeć na kod na karcie HTML, p-tagi zostaną zastąpione tagami div.

NA PRZYKŁAD
źródło
0

Nie ma możliwości skonfigurowania go za pomocą Bloggera.

Ale zdałem sobie sprawę, że można to zrobić za pomocą jQuery.

Aby to zrobić, musisz przejść do obszaru szablonu i kliknąć „edytuj HTML”. Wyszukaj /body. Tuż nad tym włóż <script src="http://code.jquery.com/jquery-1.10.1.min.js">Następnie włóż <script></script>. To, co masz teraz, powinno być następujące:

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

Odpowiednie wywołania jQuery można znaleźć na tej stronie, na której podają przykład z prośbą o prawie dokładnie to, co chcesz zrobić. Ten przykład został skopiowany poniżej (z 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>

Możemy zastosować tę .contents()metodę, aby pomóc przekonwertować tę kroplę tekstu na trzy poprawnie sformułowane akapity:

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

To prawda, że ​​musisz wprowadzić kilka drobnych zmian powyższego, aby działało. Ale zostawię wam to do zrozumienia. :-)

merlinpatt
źródło