Tutorial: Crea Una extencion de Google Chrome para tu Blog

Angel Perales Seguir

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Hola, revisando mi Ordenador me he encontrado una extencion de un Feed de un blog que ya ni tengo pero ya que estaba ahi se los traigo.
Antes de empezar les quiero decir que el codigo en si no es mio, pero tiene modificaciones que yo le hice, si alguien sabe la fuente de dicho codigo digalo y lo agrego al post.


Empecemos, primero debemos crear una carpeta en donde estaran todos los archivos de la extencion tendra como nombre el nombre de su extencion u otro, en esa carpeta crearan otra que llamaran img con iconos para su extencion, los deben nombrar icon.png, icon16.png, icon16.png, icon38.png e icon48.png, el tamaño de icon.png sera de 19x19 px, el de las otras tendran un tamaño segin el nombre, ejemplo icon16.png sera de 16x16px.

pueden generar iconos en Genfavicon. Free Online Favicon Generator. Icon Generator.

El primer archivo que crearemos sera manifest.json en el pondremos.

Insertar CODE, HTML o PHP:
{
    "name": "Tutoriales",
    "description": "Aquí va la descripción de tu Blog.",
    "browser_action": {
        "default_icon": {
            "38": "img/icon38.png",
            "19": "img/icon19.png"
            },
        "default_title": "Tutoriales",
        "default_popup": "popup.html"
    },
    "manifest_version": 2,
    "update_url": "http://clients2.google.com/service/update2/crx",
    "content_security_policy": "script-src 'self' https://www.google.com; object-src 'self'",
    "version": "1.0"
}

Los datos que debes cambiar son "name" que es el el nombre de tu blog, "description" que es la descripcion de tu blog y por ultimo "default_title" que igual seria el nombre de tu blog. Eso seria todo lo que tendrian que modificar en ese archivo.

Luego crearemos un archivo que llamaremos popup.html en el pondremos este codigo.

HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

    <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
    <link href='style.css' rel='stylesheet' type='text/css'>

    <meta name="viewport" content="width=device-width" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <!-- aqui pon el titulo de tu blog.... Yo usare el Feed de los tutoriales de forobeta -->
    <title>El Título de tu Blog</title>

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript" src="popup.js"></script>

    <base target="_blank">

</head>


<body bgcolor="#FFF">
    <table class="body-wrap">
        <tr>
            <td class="container">
                <div class="content">
                    <div id="logo">
                        <!-- pon un link hacia tu blog -->
                        <a href="http://www.forobeta.com/">
                        <!-- aqui pon el logo de tu blogo web -->
                            <img src="http://sololaley.tripod.com/imgban.gif" />
                        </a>
                    </div>
                    <div id="searchform" class="searchform">
                        <!-- pon la url de tu blog -->
                        <form action="http://forobeta.com/" method="post" class="searchinput" target="_blank">
                            <input type="search" name="s" placeholder="Buscar en el Blog..." />  
                            <input type="submit" class="button search-submit" value="buscar">
                        </form>
                    </div>
                    <div id="feed"></div>
                </div>
                <div class="footer">
                    <div class="ficon-wrapper">
                        <!-- pon la url de de tus redes sociales -->
                        <a href="http://www.facebook.com/#" target="_blank" class="aicon"><div class="ficon sprite-fb" title="Facebook" ></div></a>
                        <a href="https://twitter.com/#" target="_blank" class="bicon"><div class="ficon sprite-tw" title="Twitter" ></div></a>
                        <a href="https://plus.google.com/#" target="_blank" class="bicon"><div class="ficon sprite-g" title="Google Plus" ></div></a>
                        <a href="http://feeds.feedburner.com/#" target="_blank" class="bicon"><div class="ficon sprite-rss" title="Suscríbete vía RSS" ></div></a>
                    </div>
                </div>
            </td>
        </tr>
    </table>
</body>
</html>

En el ya he agregado los comentarios para que sepan que cambiar.

Luego crearemos otro archivo llamado popup.js este archivo se encargara de revisar nuestro Feed y poder mostrar las ultimas estradas de nuestro blog. Pondremos este codigo:

PHP:
    google.load("feeds", "1");

    function initialize() {
      
      var feed = new google.feeds.Feed("http://forobeta.com/external.php?type=RSS2&forumids=55");
      
      feed.setNumEntries(5);
      
      feed.load(function(result) {
        if (!result.error) {
          var container = document.getElementById("feed");
          var html = "";
          for (var i = 0; i < result.feed.entries.length; i++) {
            var entry = result.feed.entries[i];
            html = "<h5><a href='" + entry.link + "'>" + entry.title + "</a></h5>" ;
            
            var div = document.createElement("div");
            div.innerHTML = html;
            container.appendChild(div);            
          }
          document.write(html);
        }
      });
    }
    google.setOnLoadCallback(initialize);

En este archivo hay cambiar el link del feed de forobeta por el de su blog, tambien pueden cambiar el numero de post a mostrar cambiando el 5 por el numero de post que quieran en feed.setNumEntries(5);

Por ultimo crearemos el archivo css que llamaremos style.css, aqui podran modificar lo que gusten ya que es un diseño unico yo lo he puesto asi.

HTML:
* {
font-family:"Open Sans", Arial, sans-serif;
margin:0;
padding:0;
}

img {
max-width:100%;
}

.collapse {
margin:0!important;
padding:0;
}

body {
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:none;
width:250px;
height:100%;
}

.searchinput {
position:relative;
}

input {
display:block;
border:1px solid #333;
-moz-border-radius: 5px;
border-radius: 5px;
}

input[type=search] {
width:100%;
position:relative;
top:0;
padding:.7em 4em .7em .7em;
}

input[type=submit] {
position:absolute;
right:.5em;
top:.5em;
bottom:.5em;
z-index:1;
width:5em;
cursor:pointer;
background-color:#333;
padding:0;
-moz-border-radius: 3px;
border-radius: 3px;
}

#logo {
width:200px;
margin:0.3em auto 1em;
}

a {
color:#2BA6CB;
}

.button {
text-decoration:none;
color:#FFF;
background-color:#666;
text-align:center;
cursor:hand;
cursor:pointer;
display:inline-block;
padding:5px;
text-shadow: -1px -1px rgba(0,0,0,0.5);
}

.button:hover {
background-color:#444;
}

p.callout {
background-color:#000;
margin-bottom:15px;
color:#FFF;
width:120px;
text-transform:uppercase;
padding:10px;
}

.callout a {
color:#FFF;
text-decoration:none;
font-size:80%;
}

.header.container table td.label {
padding:15px 15px 15px 0;
}

table.footer-wrap {
width:100%;
clear:both!important;
}

.footer-wrap .container td.content p {
border-top:1px solid #d7d7d7;
padding-top:15px;
font-size:10px;
font-weight:700;
}

h1,h2,h3,h4,h5,h6 {
font-family:"Open Sans", sans-serif;
line-height:1.1;
margin-bottom:15px;
color:#000;
}

h1 small,h2 small,h3 small,h4 small,h5 small,h6 small {
font-size:60%;
color:#6f6f6f;
line-height:0;
text-transform:none;
}

h1 {
font-weight:200;
font-size:44px;
}

h2 {
font-weight:200;
font-size:37px;
}

h3 {
font-weight:500;
font-size:27px;
}

h4 {
font-weight:500;
font-size:23px;
}

h5 {
font-weight:400;
line-height:16px;
font-size:12px;
}

h5 a {
text-decoration:none;
}

form {
margin:0 0 1em;
}

p,ul {
margin-bottom:10px;
font-weight:400;
font-size:12px;
line-height:1.4;
color:#777;
}

p.lead {
font-size:17px;
}

p.last {
margin-bottom:0;
}

ul li {
margin-left:5px;
list-style-position:inside;
}

.container {
display:block!important;
max-width:100%!important;
clear:both!important;
margin:0 auto!important;
}

.content {
max-width:100%;
display:block;
margin:0 auto;
padding:10px;
padding-bottom: 5px;
}

.column {
width:300px;
float:left;
}

.column-wrap {
max-width:600px!important;
margin:0 auto;
padding:0!important;
}

.social .column {
width:280px;
min-width:279px;
float:left;
}

.clear {
display:block;
clear:both;
}

table.head-wrap,table.body-wrap,.content table,.column table {
width:100%;
}

.header.container table td.logo,.column tr td {
padding:15px;
}

.footer {
width: 100%;
height: 55px;
margin: auto;
background-color: #eee;
}

.ficon-wrapper {
width: 160px;
height: 35px;
margin: auto;
text-align:left;
margin-top: 10px;
margin-bottom: 10px;
margin-left: 40px;
float: left;
clear: both;
}

.aicon {
width: 35px;
height: 35px;
float: left;
clear: none;
}

.bicon {
width: 35px;
height: 35px;
float: left;
margin-left: 5px;
clear: none;
}

.ficon {
width: 35px;
height: 35px;
}

.ficon:hover
{
opacity:0.9;
filter:alpha(opacity=90); /* Para IE8 y anteriores */
}

.sprite-fb {
background: url("http://www.metricspot.com/img/socialsprite.png") 0 0;
}

.sprite-tw {
background: url("http://www.metricspot.com/img/socialsprite.png") -35px 0;
}

.sprite-g {
background: url("http://www.metricspot.com/img/socialsprite.png") -70px 0;
}

.sprite-rss {
background: url("http://www.metricspot.com/img/socialsprite.png") -105px 0;
}

.sprite-mail {
background: url("http://www.metricspot.com/img/socialsprite.png") -140px 0;
}

h5 {

    background-color: white;
    border-radius: 4px;
    border: solid;
    padding: 10px;
    border-color: #B4B0B0;
}

a {

    color: black;
}

Bueno con eso tendrian una extencion basica de su blog que se actualiza cada vez que el feed se actualiza, cualquier duda pregunte.

Captura de la extencio de Foro Beta para los tutoriales.

Captura de pantalla de 2014-05-26 18:37:58.png


PD; ya he sabido la Fuente



Extra
... Como Empaquetar la extencion
Bueno como muchos querian saber como subir la extencio a la Web Chrome Store le voy a enseñar a como empequetarla para poder subirla.

Primero deben poner el Google Chrome en modo programdor...
Captura de pantalla de 2014-05-27 20:58:59.png

Luego hay que empaquetarla...Le dan En extencion de empaque...
Captura de pantalla de 2014-05-27 21:04:25.png

Luego le dan en
Directorio de raíz de la extensión: y seleccionan su archivo de extencion...

Para publicarla en la store solo entran a https://chrome.google.com/webstore/developer/dashboard y comprimen el archivo crx en ZIP y lo agregan (tienen que pagar la cuota de 5 usd)



Eso es todo... [MENTION=31672]Marcelord[/MENTION] y [MENTION=3264]mickey3[/MENTION] le puede interesar...



 
Última edición:

GaboTs

Épsilon
Social Media
Desde
30 Nov 2013
Mensajes
929
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Una mina de oro :encouragement: se le agradece el aporte!
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Para que vean que si se actualiza cada vez que el feed se actualiza...

Captura de pantalla de 2014-05-26 19:51:37.png
 

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.385
Me ha gustado mucho, creo que ocuparé algo así para estar viendo los nuevos tutoriales :D ¿igual se puede subir a las extensiones de chrome supongo?
 

4mer

Dseda
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
8 May 2014
Mensajes
1.097
Esto es muy interesante. Se le puede dar muchos usos

:celular:
 

Don Gato

Eta
Redactor
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
23 Oct 2012
Mensajes
1.292
Excelente, ya mismo me creo mi extensión :encouragement: ¿cómo sería el procedimiento para subir las extensiones a la Chrome Web Store?
 

shruken

Préstamo
Pi
SEO
Desde
27 May 2012
Mensajes
5.158
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Muy bueno,muchas gracias
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
[MENTION=31672]Marcelord[/MENTION] y [MENTION=1]Carlos Arreola[/MENTION] claro que si se pueden subir a Chrome Web Store en un rato agrego al post como subirla... Y que bueno que les alla funcionado..

---------- Post agregado el 26-may-2014 hora: 19:57 ----------

De hecho se me olvido poder que para testearla hay que poder a google chrome como desarrollador
 

mickey3

Iota
SEO
Verificación en dos pasos activada
Desde
8 Sep 2010
Mensajes
2.407
Excelente tutorial. Me suscribo para enterarme de cuándo la agregas a Chrome Web Store.

Muy útil para no perderse ningún tutorial.

gracias!
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Excelente tutorial. Me suscribo para enterarme de cuándo la agregas a Chrome Web Store.

Muy útil para no perderse ningún tutorial.

gracias!

Si no es tan dificil solo tenga tiempo lo agrego
 

Carlos Arreola

Admin
Sigma
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
¡Excelente comerciante!
Suscripción a IA
Desde
6 Abr 2009
Mensajes
12.385
¿Si quiero agregar varios feeds cómo hago y otra cosa, los íconos primeros (38, etc.) para qué son? Ya que solo veo que utilizamos los de fb, tw.
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
¿Si quiero agregar varios feeds cómo hago y otra cosa, los íconos primeros (38, etc.) para qué son? Ya que solo veo que utilizamos los de fb, tw.
Son para funciones extras que pueda necesitar el NAvegador como si alguien tuviera una pantalla enorme pues usa un icono mas grande.
..

Y para los feed puedes unirlos en ChimpFeedr RSS Feed Aggregator - Feed the Chimp o si quieres separarlos y que se diferencie en la extencio dime y agrego un codigo aqui, solo me desocupo un poco

---------- Post agregado el 27-may-2014 hora: 16:11 ----------

He aqui una prueba <=!=[=C=D=A=T=A=[prueba]=]=>
 
Última edición:

alexsousa

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
24 May 2014
Mensajes
137
Wooow tremendo tuto jajajaja seguro que lo uso algún dia!! gracias por el aporte :witless::witless:
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Wooow tremendo tuto jajajaja seguro que lo uso algún dia!! gracias por el aporte :witless::witless:


Seria de mucha utilidad para poder seguirle el paso a varios blog , aaa y cualquier duda estamos para aclararla.
 

Don Gato

Eta
Redactor
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
23 Oct 2012
Mensajes
1.292
Excelente Angel, gracias por complementar lo de la Chrome Web Store :encouragement: respecto al pago único, ¿sabes si es posible hacerlo con PayPal (no verificado)?
 

Angel Perales

Préstamo
Iota
Social Media
Desde
4 Ago 2013
Mensajes
2.014
Por favor, ten en cuenta 📝 que si deseas hacer un trato 🤝 con este usuario, está baneado 🔒.
Excelente Angel, gracias por complementar lo de la Chrome Web Store :encouragement: respecto al pago único, ¿sabes si es posible hacerlo con PayPal (no verificado)?

No, no es posible pagar con paypal.
 
Arriba