La prestigiosa C|Net publica su review de Windows Vista Ultimate, y le otorga un Very Good, un 7.8 sobre 10. Al leer con detalle, no obstante, lo que se trasluce es una valoración con adjetivos y frases durÃsimas, un verdadero palo para las expectativas
El caso es que uno de los widgets que no validan XHTML es el de YouTube. Asà es que he escrito un pequeño plugin de WordPress, al que he llamado StarTrekIntro, para generar el código validable de los vÃdeos de YouTube.
Ahora veremos la forma de combinar la caracterÃstica del drag drop (script.aculo.us) con PHP y MySQL, esto con el objetivo de que los elementos que hemos seleccionado o movido de un lugar a otro se queden guardados en una base de datos.
El sitio, del que no se ha precisado nombre comercial, hará su debut este verano y ofrecerá miles de horas de programas de televisión, pelÃculas y otros contenidos audiovisuales de forma gratuita para los usuarios de la red. Emitirán capÃtulos compl
Hace mucho, mucho tiempo (o al menos allá por finales de los 90), se oÃa a ciertos tipos autoproclamarse de profesion “Webmasterâ€. Mientras que la mayorÃa de la población no sabÃa ni traducir, y mucho menos saber el cometido de dicho trabajo. Ell
jQuery es una liviana libreria de JavaScript, pensada para interactuar con los elementos de una web por medio del DOM. Lo que la hace tan especial es su sencillez y su reducido tamaño.
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