4343 # download-root
4444 {display : flex;gap : 30px ;margin-left : 50px }
4545 .download
46- {text-decoration : underline;cursor : pointer;border : 1px solid whitesmoke;padding : 5px 10px }
47-
48- # view
49- {margin-top : 50px }
46+ {text-decoration : underline;cursor : pointer;border : 1px solid lightgray;padding : 5px 10px ;border-radius : 5px }
5047
5148 # tabs
52- {display : flex;margin-bottom : 10 px }
49+ {display : flex;margin-top : 50 px }
5350 # tabs > div
54- {flex : 1 ;text-align : center;padding : 5 px 10 px ;cursor : pointer}
51+ {flex : 1 ;text-align : center;padding : 7 px 20 px ;cursor : pointer}
5552
5653 .active
5754 {background : lightyellow;border : 1px solid lightblue}
@@ -105,24 +102,21 @@ <h3>
105102 </ div >
106103
107104
108- < div id =view >
109- < div id =tabs >
110- < div class =active >
111- chrome
112- </ div >
113- < div class =inactive >
114- firefox
115- </ div >
105+ < div id =tabs >
106+ < div class =active >
107+ chrome
108+ </ div >
109+ < div class =inactive >
110+ firefox
116111 </ div >
117-
118- < dir-tree component > </ dir-tree >
119-
120- < snippet-editor id =one component v2.0 src ='github:javascript-2020:browser-extensions:main:/cors/chrome/manifest.json '> </ snippet-editor >
121- < snippet-editor id =two component v2.0 src ='github:javascript-2020:browser-extensions:main:/cors/chrome/extension.js '> </ snippet-editor >
122-
123-
124112 </ div >
125113
114+ < dir-tree component > </ dir-tree >
115+
116+ < snippet-editor id =manifest component v2.0 src ='github:javascript-2020:browser-extensions:main:/cors/chrome/manifest.json '> </ snippet-editor >
117+ < snippet-editor id =extension component v2.0 src ='github:javascript-2020:browser-extensions:main:/cors/chrome/extension.js '> </ snippet-editor >
118+
119+
126120
127121 < log-mod component > </ log-mod >
128122
@@ -134,8 +128,10 @@ <h3>
134128 var version = 'v1.0' ;
135129 var df = true , did = 'html' ;
136130
137- var $ = ( root , css ) => ( ! css && ( css = root , root = document ) , root . querySelector ( css ) ) ;
131+ var github ;
138132
133+ var manifest ;
134+ var extension ;
139135 var dirtree ;
140136 var log ;
141137
@@ -144,8 +140,10 @@ <h3>
144140 debug ( 'init' ) ;
145141 await libs ( ) ;
146142
147- dirtree = mod [ 'dir-tree' ] ;
148- log = mod [ 'log-mod' ] ;
143+ manifest = mod . manifest ;
144+ extension = mod . extension ;
145+ dirtree = mod [ 'dir-tree' ] ;
146+ log = mod [ 'log-mod' ] ;
149147
150148 await mod . auto ( ) ;
151149
172170 //:
173171
174172
173+ var cache = { } ;
174+
175+
175176 var tabs ;
176177
177178
253254 dirtree . clear ( ) ;
254255 dirtree . display ( files [ name ] ) ;
255256
256-
257+ load_github ( url . manifest ( name ) ) . then ( txt => manifest . editor . setvalue ( txt ) ) ,
258+ load_github ( url . extension ( name ) ) . then ( txt => extension . editor . setvalue ( txt ) ) ;
257259
258260 } //tabs
259261
@@ -267,17 +269,53 @@ <h3>
267269 chrome : {
268270 'maniferst.json' : null ,
269271 'extension.js' : null ,
272+ 'asterisk.png' : null ,
270273 }
271274 } ;
272275 files . firefox = {
273276 firefox : {
274277 'maniferst.json' : null ,
275- 'extension.js' : null
278+ 'extension.js' : null ,
279+ 'asterisk.png' : null ,
276280 }
277281 } ;
278282
279283
280-
284+ var url = {
285+ manifest : name => `github:javascript-2020:browser-extensions:main:/cors/${ name } /manifest.json` ,
286+ extension : name => `github:javascript-2020:browser-extensions:main:/cors/${ name } /extension.js` ,
287+ } ;
288+
289+
290+ async function load_github ( src ) {
291+
292+ if ( cache [ src ] ) {
293+ return cache [ src ] ;
294+ }
295+
296+ if ( ! github ) {
297+ [ github ] = await ext . load . libs ( 'js/io/github/github.js' ) ;
298+ }
299+
300+ var [ a , owner , repo , branch , path ] = src . split ( ':' ) ;
301+
302+ var { txt, error} = await github . file . load . text ( { owner, repo, branch, path} ) ;
303+ if ( error ) {
304+ console . log ( 'error' , error ) ;
305+ return error ;
306+ return ;
307+ }
308+
309+ cache [ src ] = txt ;
310+ return txt ;
311+
312+ } //load_github
313+
314+
315+ //:
316+
317+
318+
281319 async function create ( dir , { download= true , test, df= false } = { } ) {
282320 df && debug ( 'download' , download ) ;
283321 df && debug ( 'test' , ! ! test ) ;
0 commit comments