čtvrtek 14. července 2011 Místo: Brno, Česká republika

Jak udělat shrnutí příspěvku na úvodní straně blogu

Také vás štve, jak platforma blogspot neumožňuje nastavení automatických shnutí příspěvků na úvodní straně, ale místo toho tam umisťuje příspěvky celé, takže je pak úvodní strana jeden velký bordel? Nebyl bych to informatik kdybych se to nepokusil nějak vyřešit. A jak lze vidět, tak také úspěšně. Chcete-li vědět jak, čtěte dále velmi krátký a jednoduchý postup.

Můj postup je založený na anglickém článku z blogu BLOGGER PLUGINS, a originálním skriptu z projektu glogger gadgets. Takže bohužel, nejsem tak geniální, abych něco takového vymyslel sám. Jsem ale dostatečně chytrý na to, abych si našel hotové řešení a vylepšil ho o tyto specialitky:
  • Manuální specifikace toho, co se má zahrnout do souhrnu
  • Obrazek shrnutí také odkazuje na plnou verzi článku
  • Počeštění :-)

Postup - Fáze 1: JavaScript

Bohužel příspěvky se vkládají stále na úvodní stránku celé, s tím nic nenaděláme. Lze je ale přeformátovat pomocí vloženého JavaScriptu. Nejprve si stáhněte samotný skript zde: summary.js. A ten umístěte na nějaký veřejný web, kam bude z blogu přístup. Kód skriptu nejde umístit přímo do šablony stránky, protože by nešla uložit. Nepoužívejte ani odkaz co jsem právě uvedl, protože nikdy nevíte, jak to bude dostupné a navíc asi nebudete chtít moje nastavení :D.

Fáze 2: Úprava šablony

Jděte do editace šablony stránek (Design -> Upravit HTML), zaškrtněte "Rozbalit šablony pomůcek", v kódu šablony najděte:
</head>
a nahraďte za:
<script src='CESTA_K_JAVASCRIPTU' type='text/javascript'/>
</head>
kde CESTA_K_JAVASCRIPTU nahradíte za skutečnou cestu ke staženému JavaScriptu.

Nyní v šabloně najděte:
<data:post.body/>
a nahraďtě za:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <data:post.body/>
<b:else/>
  <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
    <data:post.body/>
  <b:else/>
    <div expr:id='&quot;summary&quot; + data:post.id'>
      <data:post.body/>
    </div>
    <script type='text/javascript'>
      createSummaryAndThumb(&quot;summary<data:post.id/>&quot;,&quot;<data:post.url/>&quot;);
    </script>
    <div style='clear: both;'/>
    <span style='padding-top:5px;;float:right;text-align:right;'><a expr:href='data:post.url' rel='bookmark'><b>Přečíst celý článek</b></a></span>
  </b:if>
</b:if>

Fáze 3: Nastavení

Skript summary.js si můžete přizpůsobit dle svých potřeb. Za zmínku stojí proměnné:
  • summary_noimg - maximální délka shrnutí, pokud není k dispozici obrázek
  • summary_img -  maximální délka shrnutí s obrázkem
  • img_thumb_height - výška obrázku
  • img_thumb_width - šířka obráz
Dále je možné určit shrnutí manuálně až do maximální nastavené délky shrnutí. Pro manuální určení uzavřete požadovaný text v příspěvku mezi tagy:
<div id="summary"></div>
Jako obrázek v shrnutí se použije vždy první nalezený obrázek v příspěvku.

Update 14.8.2011

Nyní lze specifikovat, že nechcete vytvořit ikonu z obrázků v příspěvku. Stačí nastavit tagu s id summary třídu noimage. Tento tag může mít samozřejmě více nastavených tříd. Příklad:
<div id="summary" class="noimage"></div>

Žádné komentáře: