🥇🥇 Instalar Markpress en Ubuntu 16.04 / 18.04

Instalación de Markpress

  • Esta utilidad de linea de comandos nos permite crear post de WordPress desde archivos Markdown.

  • Clonar el repositorio de github

git clone https://github.com/skywind3000/markpress.git

  • Añadir la carpeta bin a la ruta de $PATH, añadir la linea o en el .bashrc o en el .profile

export PATH="directorio_de_markpress/bin:$PATH"

  • Cambiar los permisos en el directorio bin de Markpress:

cd directorio_de_markpress/bin
chmod +x *

  • Instalar los paquetes necesarios. En mi caso he instalado phyton3-pip para que funcione ok.

sudo apt get install python3-pip
sudo pip3 install python-wordpress-xmlrpc markdown beautifulsoup4 PySocks

  • Para ejecutar el programa crear el archivo ~/.config/markpress/config.ini

[default]
tabsize=4

[0]
url=http://your-wordpress.com/
user=USERNAME
passwd=PASSWORD

  • Comando para crear un nuevo post que creará la cabecera necesaria para introducir los parámetros de un post de wordpress.

markpress -n mipost.md

  • Una vez creado mipost.md lo editamos y modificamos la cabecera que ha creado, además de añadir el contenido.

uuid: 1234
title:
status: draft
categories:
tags:
slug:

  • Podemos volver a enviar el post tantas veces como queramos con el comando.

markpress -u mipost.md

  • Cuando sea necesario publicarlo cambiaremos el status: draft a status :publish y ejecutamos el comando anterior.

  • Con la instalación anterior no debería aparecer este error : ImportError: No module named ‘wordpress_xmlrpc’ en todo caso se soluciona instalando el phyton3

  • También hay que tener muy en cuenta que el archivo config.ini debe ser correcto, en caso de no serlo el script dará errores.

🥇🥇 Estrategia Táctica y Ejecución

Estrategia

  • Sueña en años
  • Planifica en meses.
  • Evalua en semanas
  • Entrega diariamente.

Táctica

  • Prototipa para 1x
  • Construye para 10x
  • Realiza ingeniería para 100x

Ejecución

  • Que necesitamos para reducir el tiempo de entrega a la mitad.
  • Que necesitamos que este hecho para doblar el impacto.

Pensamientos

  • Evitar optimización temprana: Primero se construye, se mide, se evalúa y MÁS TARDE si tiene sentido se mejora.
  • Priorizar las tareas que tengan más impacto en la consecución de los objectivos propuestos.

Modificar functions.php o usar un plugin

Como, supongo ya sabéis, el fichero functions.php es un fichero de funciones opcional que se puede usar en cualquier tema de WordPress.

Implementando funciones dentro de este fichero podemos cambiar casi cualquier cosa en WordPress.
Como ya hemos comentado en algún post anterior, podemos modificar la funcionalidad de funciones propias de cada tema.

Por ejemplo, en el siguiente código de muestra, simplemente declarando la función de nuevo, sin contenido alguno, estamos modificando su salida.

function twentynineteen_posted_on(){
  
}

Eso sí, hay que tener en cuenta que un error en la sintaxis puede hacer que nuestro WordPress no funcione.

Ya habréis caído en la cuenta de que el fichero functions.php, es una herramienta muy potente para personalizar WordPress.

Ahora bien, hay que resaltar un pequeño detalle. Su ejecución está vinculada al tema que tengamos activo en ese momento. Es decir, si cambiamos de tema, las instrucciones incluidas en el functions.php dejarán de tener efecto.

Esto es así, porque el fichero está incluido dentro de la estructura de carpetas del tema. Concretamente, en la carpeta raíz:

/wp-content/themes/mitema/functions.php

La solución es fácil, puedes copiar las instrucciones y pegarlas en el fichero functions.php del nuevo tema,  o usar un plugin como Code Snippets para escribir esas mismas instrucciones.

Algunas de las ventajas del plugin son :

  • Las instrucciones implementadas se ejecutarán independientemente del tema instalado.
  • Se pueden organizar las funciones en diferentes bloques para tenerlas mejor organizadas
  • Dichos bloques se pueden activar y desactivar,  decidir si se quieren ejecutar en todas las partes de la web, solo en la home, ejecutar solo una vez  y establecer su prioridad.

En un siguiente post hablaremos en más detalle de este interesante plugin.

Como eliminar la fecha de un post en WordPress

Si estás utilizando el tema por defecto twentynineteen, crea un tema hijo, para ello puedes utilizar el plugin Child Theme Configurator y copia el archivo functions.php.

Después solo tienes que añadir al final el siguiente código.

Si quieres eliminar la fecha :

function twentynineteen_posted_on(){
	
}

Si quieres eliminar el nombre del autor:

function twentynineteen_posted_by(){
  
}

Como añadir a tu web un efecto explosivo

  • Para añadir un efecto explosivo al título de tu post, solo tendrás que copiar este código en el footer.php de tu tema.
  • Comprueba que clase tienen los títulos de tu plantilla,por si tienes que cambiar titles[i].getElementsByClassName(«entry-title») por tu nombre de clase
  • Ejemplo:
    titles[i].getElementsByClassName(«EL_NOMBRE_DE_TU_CLASE»)
  • Si quieres probar el efecto pulsa sobre el título de la entrada, para ello tienes que estar dentro de la entrada, no funcionará si te encuentras en la página  principal de está web.
<script>
var explosion = (new Image()).src = "http://www.gifmania.com/Gif-Animados-Paisajes/Imagenes-Elementos-Naturales/Fuego/Explosiones/Explosion-Fuego-57367.gif";
 
window.onload = loadFunction;
 
function loadFunction() {
 
	var titles = document.getElementsByTagName("h1");
	for ( i = 0 ; i < titles.length ; i++ ) {
		var title = titles[i].getElementsByClassName("entry-title");
 
		if ( titles[i].innerHTML.substring(0,1) != '<' ) {
			var text = titles[i].innerHTML;
			titles[i].innerHTML = "";
			for (  i1 = 0; i1 < text.length ; i1++ ) {
				titles[i].innerHTML += '<span class="shot">' + text.charAt(i1) + "</span>";
			}
 
		}
	}
 
	var shots = document.getElementsByClassName('shot');
	for ( i=0 ; i<shots.length; i++) {
		shots[i].onclick=shot;
	}
}
 
function shot()
{	
	var audio = new Audio('http://www.sonidosmp3gratis.com/sounds/000961863_prev.mp3');
 
	audio.load();
	audio.play();
 
	this.innerHTML="<img src='"+ explosion+"'/>";
	var that = this;
 
	setTimeout(function() {
		that.innerHTML='';
	}, 1800);
}
</script>