V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

octopress

[git-core curl zlib1g-dev libssl-dev build-essential libreadline-dev libaml]. CMS para gestión de contenido web que genera automaticamente los archivos html, css y javascript a partir de archivos de texto plano formateado en markdown (Ver) y sin utilizar base de datos.

Pasos previos para su instalación en Debian y derivados:

$ curl -L https://get.rvm.io | bash -s stable –ruby
$ source ~/.rvm/scripts/rvm
$ rvm install 1.9.3
$ rvm use 1.9.3
$ rvm rubygems latest

En Arch (requiere el paquete curl):

$ curl -L get.rvm.io | bash -s stable
$ source ~/.rvm/scripts/rvm
$ rvm requirements
$ rvm install 1.9.3
$ rvm use 1.9.3 –default
$ rvm rubygems current

Instalación de octopress:

$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
$ gem install bundler
$ bundle install
$ rake install

Generar contenido (Ver markdown):

$ cd octopress
$ rake new_post[“nombre_del_nuevo_post”]

Crea un archivo en la carpeta /home/usuario/octopress/source/_posts/ con el siguiente encabezado:

--
layout: post
title: “Nombre_del_post”
date: 2012-10-17 19:27
comments: true
categories:
--

Título del post [title], fecha [date], si permitimos o no comentarios [true/false] y catagorias [categories] entre corchetes y separadas por comas [comandos, redes]

A continuación de este encabezado introducimos la entrada del post. Al finalizar la entrada para generar el archivo en la carpeta “public”:

$ rake generate

Para visualizarlo en local [http://localhost:4000] lanzar:

$ rake preview

Y no cerrar la terminal. Para matar la previsualización pulsar Ctrl +c

La configuración del titulo del blog, subtítulo, autor, etc. Algunos parámetros a especificar:

$ nano _config.yml
url: http://crontux.homelinux.com
title: TRACTATUS ELEMENTALIS
subtitle: Apuntes sobre Bash. GNU/Linux a tope.
author: lapipaplena
simple_search: http://google.com/search
description: Orgasmos con Gnu/linux
date_format: "%d-%m-%Y"
search_text: "Buscar"
paginate: 10
pagination_dir: blog
recent_posts: 10
excerpt_link: "Leer más →"
code_dir: downloads/scripts
# Twitter
twitter_user: templix
twitter_tweet_count: 6
twitter_show_replies: false
twitter_follow_button: true
twitter_show_follower_count: false
twitter_tweet_button: true
# Google Plus Profile
# Hidden: No visible button, just add author information to search results
googleplus_user: 107431970267257491799
googleplus_hidden: false

Para la creación de nuevas páginas:

$ rake new_page[previa]

Si queremos que la nueva página salga en una pestaña "previa" en la cabecera:

$ nano source/_includes/custom/navigation.html
<li><a href="/previa">Previa</a></li>

En este archivo tambien se pueden personalizar los nombres de las pestañas. Si queremos una pestaña con un enlace a una web:

$ nano source/_includes/custom/navigation.html
<li><a href="http://www.lapipaplena.net">Web</a></li>

1.-

Crear un apartado "Sobre mi" en el sidebar con una imagen web en el centro de la linea:

$ nano source/_includes/custom/asides/about.html

Con el siguiente contenido:

<section>
<h1>Sobre mi</h1>
<center>
<img src="https://lh5.googleusercontent.com/-WyGxndIWvo4/AAAAAAAAAAI/AAAAAAAACRI/L_iOIAgh69A/s250-c/photo.jpg" width="125" height="125">
</center>
<p>Cualquier texto explicativo</p>
</section>

Luego añadir el achivo en:

$ nano _config.yml

en la linea:

default_asides: [asides/num_entradas.html, asides/recent_posts.html, custom/asides/about.html]

2.-

Para mostrar archivo con código [script.sh, por ejemplo] se ha de colocar en texto plano en la ruta especificada en _config.yml, linea code_dir [downloads/scripts/ en este caso] y si lo queremos en la barra de navegación:

$ nano source/_includes/custom/navigation.html

Y añadir la linea:

<li><a href="{{ root_url }}/scripts">Scripts</a></li>

Si lo colocamos en un post, llamarlo con:

% include_code script.sh lang:bash script.sh %

Al principio de la linea antes del % colocar una llave abierta y al final despues del % la cerrada. Se han omitido porque Octopress lo interpreta.

Nota.- Despues de cualquier modificación en las entradas o en los archivos de configuración lanzar:

$ rake generate

3.-

Instalar un nuevo tema:

$ git clone git://github.com/tommy351/Octopress-Theme-Slash.git .themes/slash
$ rake install['slash']
$ rake generate

4.-

Para que las busquedas se realicen en el mismo site y no en la web:

$ nano _config.yml

Modificar la linea:

simple_search: http://www.google.com/search?q=site%3Awww.lapipaplena.net&q=

5.-

Quitar la fecha del post en la url:

$ nano _config.yml

Y dejar la linea:

permalink: /blog/:title/

Con lo que si se borran entradas antiguas para substituirlas por otras nueva con el mismo nombre, la indexación de google no se pierde.

6.-

Colocar en el sidebar un blogroll

Crear el fichero:

$ nano source/_includes/asides/blog_roll.html

Con el siguiente contenido, adaptado según gustos:

<section>
<h1>Blogs útiles</h1>
<ul>
<li><a href="http://distrowatch.com">distrowatch</a></li>
<li><a href="http://es.wikipedia.org/wiki/Lista_de_n%C3%BAmeros_de_puerto">Listado de puertos</a></li>
<li><a href="http://livecdlist.com/">LiveCDs</a></li>
</ul>
</section>

Editar:

$nano _config.yml

Y añadir asides/blog_roll.html a la linea:

default_asides: [asides/recent_posts.html, asides/twitter.html, asides/blog_roll.html]

7.-

Modificar el "Posted by" por "Escrito por"

$ nano source/_includes/post/author.html

Modificar la linea que empieza por "if author":

<span class="byline author vcard">Escrito por <span class="fn">{{ author }}</span></span>

8.-

Mostrar datos del visitante de la web:

Crear:

$ nano octopress/source/_includes/asides/ip_visitante.html

Con el siguiente contenido:

<section>
<h1>Datos visitante</h1>
<script type="text/javascript" src="http://boastology.com/tools/ip2c/?im=1&cn=1&ip=1"></script>
</section>

Las opciones de la url, aunque no siempre funcionan correctamente, son:

im=1 (1 mostrar bandera, 0 no mostrar)
cn=1 (1 mostrar nombre país, 0 no mostrar)
ip=1 (1 IP, 0 no mostrar)
$ nano _config.yml

Y añadir a la linea default_asides el archivo según el lugar que queremos que ocupe en el sidebar [en tercer lugar en este ejemplo]:

default_asides: [asides/num_entradas.html, asides/recent_posts.html, asides/ip_visitante.html]

9.-

Para especificar una imagen en octopress, la sintaxis es:

{% img center http://www.lapipaplena.net/wp-content/uploads/2011/06/lapipaplena.png La_Pipa_Plena %}

Con medidas determinadas y en la derecha:

{% img right http://www.lapipaplena.net/wp-content/uploads/2011/06/lapipaplena.png 150 250 La_Pipa_Plena %}

10.-

Modificación de colores. Por ejemplo la barra de navegación:

$ nano sass/custom/_colors.scss

Buscar la variable $nav-bg, descomentarla (quitarle las dos //) y colocar el código de color escogido:

//$subtitle-color: lighten($header-bg, 58);
$nav-bg: desaturate(lighten(#C68800, 18), 5);
//$nav-bg-front: image-url('noise.png');

11.-

Colocar una imagen en el header que previamente habremos copiado en el directorio source/images/:

$ nano sass/custom/_styles.scss

Y pegamos:

header[role="banner"] {

background-image: url(/images/tux.png);

background-position:left;

background-repeat: no-repeat;

}

12.-

Quitar la opción RSS de la barra de navegación:

$ nano source/_includes/navigation.html

Y borrarlo en la linea "site.subscribe_rss"

13.-

Centrar el título del blog:

$ nano source/_includes/custom/header.html

Y dejarlo:

<hgroup>
<div align=center>
<h1><a href="{{ root_url }}/">{{ site.title }}</a></h1>
{% if site.subtitle %}
<h2>{{ site.subtitle }}</h2>
</div>
{% endif %}
</hgroup>

13.-

Resolver el error en el rake preview "WARN TCPServer Error: Address already in use - bind(2)"

$ lsof -i4000
Para conocer el pid del proceso
$ kill -9 PID

14.-

Llevar un archivo de las visita al site:

Crear en la carpeta web el archivo:

nano /var/www/getip.php

Con el siguiente contenido:

<?php
$userip = $_SERVER['REMOTE_ADDR'];
$file = fopen('ips_visitantes.txt', 'r');
$filedata = fgets($file);
fclose($file);
$file = fopen('ips_visitantes.txt', 'a');
fwrite($file, "\n$filedatan$userip");
fclose($file);
?>

Y luego en la carpeta octopress:

$ nano source/_includes/after_footer.html

Añadir al final:

<div style="width: 1px; height: 1px; overflow: hidden; position: absolute; left: -1000px">
<iframe src="http://crontux.homelinux.com/getip.php"></iframe>
</div>

15.-

Para que las url se abran en una nueva pestaña.

$ nano source/javascripts/links.js

Y pegamos:

$(document).ready(function(){
$('a').each(function() {
var a = new RegExp('/' + window.location.host + '/');
if(!a.test(this.href)) {
$(this).click(function(event) {
event.preventDefault();
event.stopPropagation();
window.open(this.href, '_blank');
});
}
});
});
$ nano source/_includes/head.html

Añadir la linea:

<script src="(( root_url ))/javascripts/links.js"></script>

Nota.- Los 4 parentesis que abren y cierran el código "root_url" han de substituirse por llaves "{{" "}}".

16.-

Añadir en el sidebar las sección "Entradas más populares" [Popular posts]

$ cd octopress
$ nano Gemfile

Y añadir al final la linea:

gem 'octopress-popular-posts'

$ bundle install
$ bundle exec octopress-popular-posts install
$ nano _config.yml

Añadir al final la linea [5 es el número de posts que saldrán]:

popular_posts_count: 5

Y en la linea "default_asides:" añadimos en el lugar que deseemos:

default_asides: [....ent_posts.html, custom/asides/popular_posts.html,custom/asid...]

$ nano .gitignore

Aadir la linea:

.page_ranks

$ nano source/_includes_custom/asides/popular_posts.html

Y substituir "Popular posts" por "Entradas más vistas"

Para mantener actualizado el plugin lanzar de vez en cuando:

$ bundle exec octopress-popular-posts install

17.-

Subir el blog a heroku.

Crear una cuenta en <http://www.heroku.com>

$ gem install heroku (Instalar la gema)
$ cd octopress (Entrar en el directorio)
$ heroku create (Pedirá las credenciales de la cuenta)
$ git config branch.master.remote heroku (Implementar el control remoto via git)
$ rake generate (Regenerar el site)
$ git add . (Añadir el proyecto)
$ git commit -m 'site updated' (Commit de los cambios)
$ git push heroku master (Subir el sitio local a heroku)

Una vez subido por primera vez el sitio, las siguientes modificaciones se reflejarán con:

$ rake generate
$ git commit -a -m "pequeño_comentario_de_los_cambios"
$ git push heroku master (En algunas ocasiones es suficiente con "git push")
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
1837 entradas - Acerca del Tractatus
La Pipa Plena 2018