lunes, 16 de enero de 2012

Filled Under: ,

Numerar los nuevos comentarios Blogger sin JavaScript. Opción con sub-índices. – Motor – Criminal

Ahora que disfrutamos de los nuevos comentarios -algunos estamos como McGyver en un desguace con ellos- la mayoría de scripts instalados anteriormente para numerarlos han dejado de funcionar, así que creo que es un momento ideal para presentar una alternativa en mi opinión mucho más ventajosa.

Se trata de una interesante propiedad CSS2 llamadacontent que nos permite insertar casi cualquier tipo de contenido delante o detrás de un elemento cualquiera y que incluye un no menos preciado complemento denominadocounter.

La combinación de ambas la leímos hace un tiempo entre otros sitios enVagabundia y como ya habréis adivinado, con esas dos cosas es con lo que vamos a crear un contador y situarlo en cada comentario.

Como sólo vamos a utilizar CSS, el sistema tendrá una carga mucho más rápida que con JavaScript y además, no tendremos que tocar mas que la parte de estilo de nuestra plantilla; la menos arriesgada si la pifiamos.

La cuestión es encontrar una clase a partir de la cual poner el contador a cero sin problemas y otra por la que cada vez que pasemos se vayaimprimiendo e incrementando ese valor sin saltos ni duplicidades.

Pero una vezdesgranado el nuevo estilo de los comentarios anidados esto se hace más fácil.


Si queréis probar ya y ver cómo funciona esto sobre la marcha, sólo tenéis que insertar en la parte CSS de la plantilla (antes de/b:skin) lo siguiente:

.comments-content {
counter-reset: contarcomentarios;
}

.comment-thread li:before {
content: counter(contarcomentarios);
counter-increment: contarcomentarios;
float: right;
font-size: 24px;
color: #666666;
}

Lo que hace esto casi que se puede leer:

  1. Cuando se inicia el bloque general de comentarios (.comments-content) un contador que hemos llamado contarcomentarios se activa y se pone con un valor inicial de 1.
  2. Luego, cada vez que el flujo del código pasa por un comentario de cualquier nivel, bien sea un comentario principal o una respuesta (.comment-thread li), content nos meterá delante (:before) del cuerpo del comentario, el número por el que va el contador en ese momento.
  3. A continuación se incrementa en una unidad el contador (counter-increment).

La siguiente vez que el código lea otro comentario o lo que es lo mismo, pase de nuevo por un.comment-thread li, se repetirán los pasos 2 y 3, pero cada vez con un mayor valor.

El resto del estilo (float/font-size/color) sirve sólo para dar estilo al numerito que se mostrará. Si por causa de otras modificaciones en vuestros comentarios el número no quedara en el lugar exacto dónde deseáis, siempre podéis añadir en ese mismo sitio márgenes para reubicarlo.


Cuando probéis esto -si la impaciencia no os ha podido ya- observaréis que se numeran todos los comentarios y respuestas sucesivamente, sin distinción de si son de los primeros o de las segundas.

Esto para mí y seguramente para otros que con frecuencia usen esos números como referencia a algún comentario concreto, puede ser un inconveniente. Pensad que cuando se introduzca una reply, todos los comentarios y respuestas que haya más abajo se renumerarán.

Para solucionar esto nos complicamos un poco más la vida y reestructuramos el anterior código para hacer una numeración distinta como si fueran capítulos y secciones. Para eso tenemos que echar mano de otras clases distintas para distinguir cuándo contamos comentarios (contarcomentarios) y cuando respuestas (contarbis)

.comment-thread ol {
counter-reset: contarcomentarios;
}

.comment-thread li:before {
content: counter(contarcomentarios,decimal);
counter-increment: contarcomentarios;
float: right;
font-size: 24px;
color: #666666;
}

.comment-thread ol ol {
counter-reset: contarbis;
}

.comment-thread li li:before {
content: counter(contarcomentarios,decimal) "." counter(contarbis,lower-latin);
counter-increment: contarbis;
float: right;
font-size: 18px;
color: #666666;
}


Si preferís otra presentación para la numeración, podéis cambiar eldecimal y/o ellower-latin. Los valores posibles son:
  • decimal: Números decimales, comenzando de 1.
  • decimal-leading-zero: Números decimales completados con ceros iniciales (01, 02, 03, ..., 98, 99).
  • lower-latin: Letras en minúsculas (a, b, c, etc.)
  • upper-latin: Letras en mayúsculas (A, B, C, etc.)
  • lower-roman: Números romanos en minúsculas (i, ii, iii, etc.)
  • upper-roman: Números romanos en mayúsculas (I, II, III, etc.)


La única diferencia con repecto a los sistemas con JavaScript es que perdemos el enlace permanente al comentario, que por cierto no he visto en las fechas del nuevo sistema y que sí estaban en las del anterior. Pero eso es algo que aunque podríamos arreglar nosotros haciendo unas pequeñas modificaciones, esperaré a que arregle Blogger para no interferir en las actualizaciones que posiblemente quedan por venir. En cualquier caso las ventajas de este método de numeración creo que superan a los inconvenientes.

mesothelioma attorney Computer science classes online refinance with bad credit Donate Old Cars to Charity Paperport Promotional Code compare life assurance business voice mail service Christmas cards LOW CREDIT LINE CREDIT CARDS Mobile casino Cheap car insurance in Virginia Casino Hard drive Data Recovery Services california mesothelioma attorney PAPERPORT PROMOTIONAL CODE bus accident attorneys Bankruptcy lawyer DONATE A CAR IN MARYLAND Holland Michigan College Auto Mobile Shipping Quote los angeles auto accident attorneys Low Credit Line Credit Cards car accident lawyer san bernardino how to donate a car in california Dwi lawyer state of california car insurance Donate your car for money illinois law lemon Business VOIP Solutions Forex Trading Platform lawyers accidents accident car florida lawyer Car Insurance Quotes Colorado FUTURISTIC ARCHITECTURE Online casino Social media examiner Donate Your Car Sacramento Donating used cars to charity How to donate a car in California register free domains WEBEX COSTS Learning adobe illustrator personal accident attorney Donate Car for Tax Credit NUNAVUT CULTURE anti spam exchange server Hire php programmers Photo Christmas cards mesothelioma law suit structured settlement brokers average mesothelioma settlement CAR INSURANCE IN SOUTH DAKOTA accident attorney orange county HOW TO DONATE A CAR IN CALIFORNIA ANNUITY SETTLEMENT buyer of structured settlement annuity ONLINE MOTOR INSURANCE QUOTES Make money online Australia Live casino Best Seo company World Trade Center Footage Hire php developers Nunavut culture Casino reviews CAR DONATE Mesothelioma Law Firm car accident lawyers los angeles DUI lawyer EMAIL BULK SERVICE Motor Replacements Social media platforms Futuristic Architecture Car Insurance Quotes MN Online Motor Insurance Quotes georgia truck accident lawyer Psd to html Social media platforms for business Register Free Domains Social media tools sell my structured settlement mesothelioma charities structured settlement company Donate Car to Charity California cash out annuity Criminal lawyer WordPress hosting yahoo web hosting automobile accident attorney AUTO ACCIDENT ATTORNEY Service business software Donate your car for kids event management security Criminal defense lawyer HOLLAND MICHIGAN COLLEGE online colledges Psd to WordPress car insurance quotes pa Online Classes Donating a Car in Maryland DONATE YOUR CAR FOR MONEY hosted predictive dialers Php programmers for hire Social media strategies cheap domain registration hosting Health Records Personal Health Record Seo services student loan consolidation program Online Christmas cards Psychic for Free Hire php developer mesothelioma attorney assistance car insurance quotes Asbestos Lung Cancer Webex Costs Seo companies domain registration yahoo Best Criminal Lawyers in Arizona NEUSON Php programmers Best social media platforms for business Structures Annuity Settlement New social media platforms fast cash for house mesothelioma lawyer texas Business finance group philadelphia mesothelioma lawyer Car Donate PSYCHIC FOR FREE best accident attorneys mesotheloma Custom WordPress theme designer Tech school houston tx auto insurance Business management software Best social media platforms pharmacist jobs in chicago Seo company futuristic architecture Custom Christmas cards dallas mesothelioma attorneys WordPress themes for designers Home Phone Internet Bundle houston mesothelioma attorney motorcycle accident attorney sacramento online motor insurance quotes injury lawyers donate your car for money MET AUTO life insurance quotes Sell Annuity Payment Social media management Html email donate your car for kids motor insurance quotes Injury Lawyers baltimore mesothelioma attorneys michigan motorcycle accident lawyer Proud Italian cook Royalty Free Images Stock workplace accident attorney Online colledges structured settlements companies WebEx costs Italian cooking school Donate Car To Charity CALIFORNIA WordPress theme designers Asbestos Lawyers Adobe illustrator classes DALLAS MESOTHELIOMA ATTORNEYS DONATING USED CARS TO CHARITY motor replacements Neuson structured settlement quote Car Insurance Companies DONATE CARS IN MA Social media campaigns mesothelioma st louis mesothelioma attorney peritoneal mesothelioma Donate Cars in MA Business Voip Solutions Annuity Settlements How to Donate A Car in California truck accident attorney los angeles adverse remortgage Met Auto ONLINE COLLEDGES Donate Your Car for Kids CAR INSURANCE QUOTES COLORADO structured settlement agreement personal injury lawyer sarasota fl mesothelioma claim Nunavut Culture Dayton Freight Lines VIRTUAL DATA ROOMS Donate a Car in Maryland Cheap Domain Registration Hosting primary pulmonary hypertension structured settlement buyers business administration masters Donate Cars Illinois Criminal Defense Attorneys Florida Car Insurance Quotes Utah Life Insurance Co Lincoln asbestos lung cancer cloud identity and access management Online Colleges CRIMINAL DEFENSE ATTORNEYS FLORIDA Donating Used Cars to Charity Attorney