Tutorial para crear un menú redondo con iconos al rededor y tooltips (como pop-ups de información) para cada icono. Todo el menu está basado en XHTML y CSS, sin necesidad de utilizar Javascript.
Para aquellos que estais intentando dar el salto a Ubuntu… para aquellos que hace poco os cambiasteis y aún no conoceis muchas aplicaciones… y para todos en general, os mostramos lo que a nuestro entender es el Top Ten de las aplicaciones de Ubuntu.
Muy oportuno para estas fechas: un buscador visual que nos ayuda a encontrar cosas por semejanzas… Por ejemplo, que nos gusta este bolso que luce Jessica Alba pues nada, a un clic de distancia ya tenemos un buen repertorio en dónde escoger…
Aunque parezca increible, mucha gente empieza a llenar los casi 2.8Gb de sus cuentas de Gmail. En en este artÃculo, se muestra cómo liberar espacio de forma rápida, utilizando una serie de filtros en el buscador de correos. Muy úti
A lot of people are martyrs and want to get their hands in the dirt and design their own WordPress Theme from scratch. That’s okay. I did that, and then got smarter. Let’s start with the smarter choice
Parakey va a ser una aplicación de escritorio; no se tratará de un navegador, no va a ser un sistema operativo (partiendo de una definición estricta del mismo) ni está ideada como un sistema “P2P personal” y tampoco va a ser un servidor web, aunque te
Loïc comenta una reciente investigación de IPSOS en la que se demuestra que un cuarto de los europeos confÃan en la información que leen en los blogs, y que el 39% de ellos han dejado de comprar productos a causa de comentarios que han leÃdo en ellos
Como se puede ver, existen dos scripts dentro de npm: build que compila el js y extrae los CSS, y dev, que arranca el servidor de webpack habilitando HMR (🎶 ¡ya no puedo vivir sin él! 🎶).
Ambas configuraciones de webpack usan un script en común (webpack.config.common.js):
const webpack = require( 'webpack' );
const path = require( 'path' );
// Carga los ficheros .vueconst VueLoaderPlugin = require( 'vue-loader/lib/plugin' );
// Configura stylelintconst StyleLintPlugin = require( 'stylelint-webpack-plugin' );
// Para obtener un path para los aliasfunctionresolve( dir ) {
return path.join( __dirname, '.', dir );
}
module.exports = {
mode: 'production',
// Fichero inicial del proyecto
entry: './js/main.js',
// Fichero final para incluir
output: {
filename: 'js/main.js',
publicPath: '/dist/',
},
module: {
// Reglas para los ficheros
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.css$/,
use: [
'css-loader',
'sass-loader',
],
},
],
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new VueLoaderPlugin(),
new StyleLintPlugin( {
files: [ '**/*.{vue,htm,html,css,sss,less,scss,sass}' ],
} ),
],
resolve: {
extensions: [ '.js', '.vue', '.json' ],
alias: {
'@': resolve( '' ),
},
},
};
El frontend se gestiona desde el fichero main.js, que inicializará Vue y añadirá el componente principal:
import Vue from 'vue';
import Buefy from 'buefy';
import'buefy/dist/buefy.css';
import App from './components/App.vue';
import'@/assets/scss/main.scss';
Vue.use( Buefy );
new Vue( {
el: '#app',
components: {
App,
},
render: ( c ) => c( 'app' ),
} );
// accept replacement modulesif ( module.hot ) {
module.hot.accept();
}
Y ya por último el componente App.vue, que muestra simplemente un poco de HTML
Con el XHTML se ha expandido la idea errónea de que no hay que usar tablas, ¡quita quita!, ¡tablas!, ¡vade retro hereje que arderás en el infierno!…