1- // BloggerJS v0.1.0
2- // Copyright (c) 2017 Kenny Cruz
1+ // BloggerJS v0.2.1
2+ // Copyright (c) 2017-2018 Kenny Cruz
33// Licensed under the MIT License
44
5- var postsOrPages = [ "pages" , "posts" ] ,
6- urlAmp = "&" . substring ( 0 , 1 ) ,
5+ // Configuración -----------
6+
7+ // Permite las fechas en las URL de entradas.
8+ var postsDatePrefix = false ;
9+
10+ // URL cortas sólo para entrar al sitio,
11+ // mas no en su funcionamiento general.
12+ var accessOnly = false ;
13+
14+ // -------------------------
15+
16+ var postsOrPages = [ "posts" , "pages" ] ,
17+ amp = "&" . substring ( 0 , 1 ) ,
18+ urlTotal , jsonIndex = 1 ,
719 secondRequest = true ,
8- feedPriority = 0 ,
9- jsonIndex = 1 ,
10- urlTotal ;
20+ feedPriority = 0 ;
1121
1222// urlVal();
13- // Valida si la URL corresponde a un post/pagina , si no,
23+ // Valida si la URL corresponde a un post/página , si no,
1424// o si corresponde al index.
1525function urlVal ( ) {
1626
@@ -25,8 +35,8 @@ function urlVal(){
2535}
2636
2737// urlMod();
28- // Analiza la URL para identificar si se trata de un post o una pagina ,
29- // para despues modificarla eliminando la fecha o el "/p/", así como el ".html".
38+ // Analiza la URL para identificar si se trata de un post o una página ,
39+ // para después modificarla eliminando la fecha o el "/p/", así como el ".html".
3040function urlMod ( ) {
3141
3242 var url = window . location . pathname ;
@@ -37,15 +47,16 @@ function urlMod(){
3747 history . replaceState ( null , null , "../" + url ) ;
3848 }
3949 else {
40- url = url . substring ( url . indexOf ( "/" , 7 ) + 1 ) ;
50+ if ( ! postsDatePrefix ) url = url . substring ( url . indexOf ( "/" , 7 ) + 1 ) ;
51+ else url = url . substring ( 1 ) ;
4152 url = url . substr ( 0 , url . indexOf ( ".html" ) ) ;
4253 history . replaceState ( null , null , "../../" + url ) ;
4354 }
4455
4556}
4657
4758// urlSearch(url, database);
48- // Busca una url especifica en la base de datos, si la encuentra,
59+ // Busca una url específica en la base de datos, si la encuentra,
4960// entonces dirigirá a ella.
5061function urlSearch ( url , database ) {
5162
@@ -65,9 +76,16 @@ function urlManager(){
6576
6677 var validation = urlVal ( ) ;
6778
68- if ( validation === 0 ) urlMod ( ) ;
69- else if ( validation === 1 ) getJSON ( postsOrPages [ feedPriority ] , 1 ) ;
70- else if ( validation === 2 ) history . replaceState ( null , null , "/" ) ;
79+ if ( validation === 0 ) {
80+ if ( ! accessOnly ) urlMod ( ) ;
81+ }
82+ else if ( validation === 1 ) {
83+ if ( ! postsDatePrefix ) getJSON ( postsOrPages [ feedPriority ] , 1 ) ;
84+ else getJSON ( "posts" , 1 ) ;
85+ }
86+ else if ( validation === 2 ) {
87+ if ( ! accessOnly ) history . replaceState ( null , null , "/" ) ;
88+ }
7189
7290}
7391
@@ -76,12 +94,13 @@ function urlManager(){
7694// y los envía mediante un callback.
7795function getJSON ( postsOrPages , index ) {
7896
79- var script = document . createElement ( " script" ) ;
97+ var script = document . createElement ( ' script' ) ;
8098 var jsonUrl = window . location . protocol + "//" + window . location . hostname + "/feeds/" + postsOrPages + "/default?start-index=" + index + "#max-results=150#orderby=published#alt=json-in-script#callback=bloggerJSON" ;
81- jsonUrl = jsonUrl . replace ( / # / g, urlAmp ) ;
82- script . type = "text/javascript" ;
99+ jsonUrl = jsonUrl . replace ( / # / g, amp ) ;
100+
101+ script . type = 'text/javascript' ;
83102 script . src = jsonUrl ;
84- document . getElementsByTagName ( " head" ) [ 0 ] . appendChild ( script ) ;
103+ document . getElementsByTagName ( ' head' ) [ 0 ] . appendChild ( script ) ;
85104
86105}
87106
@@ -92,7 +111,7 @@ function bloggerJSON(json){
92111
93112 var database = [ ] ;
94113
95- if ( urlTotal == undefined ) urlTotal = parseInt ( json . feed . openSearch$totalResults . $t ) ;
114+ if ( urlTotal === undefined ) urlTotal = parseInt ( json . feed . openSearch$totalResults . $t ) ;
96115
97116 json . feed . entry . forEach ( function ( element , index ) {
98117 var entry = json . feed . entry [ index ] ;
@@ -109,32 +128,30 @@ function bloggerJSON(json){
109128 getJSON ( postsOrPages [ feedPriority ] , jsonIndex ) ;
110129 }
111130 else if ( secondRequest ) {
112-
113131 urlTotal = undefined ;
114132 jsonIndex = 1 ;
115133 secondRequest = false ;
116-
117134 if ( feedPriority === 0 ) {
118135 feedPriority = 1 ;
119- getJSON ( postsOrPages [ feedPriority ] , 1 ) ;
136+ getJSON ( "pages" , 1 ) ;
120137 }
121138 else if ( feedPriority === 1 ) {
122139 feedPriority = 0 ;
123- getJSON ( postsOrPages [ feedPriority ] , 1 ) ;
140+ getJSON ( "posts" , 1 ) ;
124141 }
125-
126142 }
127143
128144}
129145
130146// bloggerJS();
131147// Incializa BloggerJS.
132- // Puede recibir como parametro el orden de busqueda para las URL,
148+ // Puede recibir como parámetro el orden de búsqueda para las URL,
133149// es decir, si iniciará a comparar contra las entradas o las páginas.
134- // 0 ó vacío = Páginas , 1 = Entradas .
150+ // 0 ó vacío = Entradas , 1 = Páginas .
135151function bloggerJS ( priority ) {
136152
137- if ( priority != undefined ) feedPriority = priority ;
153+ if ( priority ) feedPriority = priority ;
154+
138155 urlManager ( ) ;
139156
140157}
0 commit comments