diff --git a/app/barrabrasil.py b/app/barrabrasil.py index 37d505b..f40800c 100644 --- a/app/barrabrasil.py +++ b/app/barrabrasil.py @@ -14,8 +14,8 @@ def pagina_teste(): return make_response("

403 Forbidden

", 403) @app.route('/barra.js') -def barra(): - with app.open_resource('templates/barra-brasil.js') as f: +def barra(profile='default'): + with app.open_resource('templates/%s/barra-brasil.js' % profile) as f: conteudo = f.read().decode('utf-8') etag = hashlib.sha1(conteudo.encode('utf-8')).hexdigest() if request.if_none_match and \ @@ -29,4 +29,9 @@ def barra(): return resposta if __name__ == '__main__': + from sys import argv + if len(argv) > 1: + profile = argv[1] + else: + profile = 'default' app.run(debug=False) diff --git a/assets/barra-brasil.coffee b/assets/barra-brasil.coffee deleted file mode 100755 index 5613cd9..0000000 --- a/assets/barra-brasil.coffee +++ /dev/null @@ -1,36 +0,0 @@ - divBarra = document.getElementById("barra-brasil") - divBarra.parentNode.removeChild(divBarra) if divBarra - head = document.getElementsByTagName("head")[0] - body = document.getElementsByTagName("body")[0] - - link = document.createElement("link") - href = document.createAttribute("href") - - novaDiv = document.createElement("div") - idNovaDiv = document.createAttribute("id") - idNovaDiv.nodeValue = "barra-brasil" - novaDiv.setAttributeNode idNovaDiv - # conteudoBarra definido no barra-brasil-1.yaml e atribuido pelo assetgen - novaDiv.innerHTML = conteudoBarra - body.insertBefore(novaDiv, body.childNodes[0]) - - # src.nodeValue = "http://barra.brasil.gov.br/estilo-barra.css"; - # href.nodeValue = "http://189.9.137.173/estilo-barra.css"; - # href.nodeValue = "static/estilo-barra.css" - window._barrabrasil = - insere_css: (css) -> - style = document.createElement("style") - tipo = document.createAttribute("type") - tipo.nodeValue = "text/css" - media = document.createAttribute("media") - media.nodeValue = "all" - style.setAttributeNode tipo - style.setAttributeNode media - - if style.styleSheet #Hack para IE8 - style.styleSheet.cssText = css - else - style.appendChild document.createTextNode(css) - - head.appendChild style - diff --git a/assets/conteudo-barra.html b/assets/conteudo-barra.html deleted file mode 100644 index 8bdcc0a..0000000 --- a/assets/conteudo-barra.html +++ /dev/null @@ -1 +0,0 @@ -
Brasil
Acesso à informação
diff --git a/assets/estatisticas.coffee b/assets/estatisticas.coffee deleted file mode 100644 index 3aa702e..0000000 --- a/assets/estatisticas.coffee +++ /dev/null @@ -1,9 +0,0 @@ - head = document.getElementsByTagName("head")[0] - novoScript = document.createElement("script") - tipo = document.createAttribute("type") - tipo.nodeValue = "text/javascript" - src = document.createAttribute("src") - src.nodeValue = "http://coletajavascript.serpro.gov.br/estatistica.js" - novoScript.setAttributeNode tipo - novoScript.setAttributeNode src - head.appendChild novoScript diff --git a/assets/estilo-barra.scss b/assets/estilo-barra.scss deleted file mode 100755 index eeac61a..0000000 --- a/assets/estilo-barra.scss +++ /dev/null @@ -1,101 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -/* Css reset mínimo */ -#barra-brasil { - div, a, ul, li { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font-family: inherit; - vertical-align: baseline; - } -} - -#barra-brasil ul { - list-style: none; -} - -/* Css específico */ - -/* web font */ - -@font-face { - font-family: "Open Sans"; - font-style: normal; - font-weight: 700; - src: local("Open Sans Bold"), local("OpenSans-Bold"), url("http://barra.brasil.gov.br/static/opensans-bold.woff") format("woff"); -} - -/* fim da web font */ - -#barra-brasil { - height: 32px; - background: #f1f1f1; - font-weight: bold; - font-size: 12px; - line-height: 32px; - font-family: "Open Sans",Arial,Helvetica,sans-serif; - a { - text-decoration: none; - } -} - -div#wrapper-barra-brasil { - position: relative; - overflow: hidden; - margin: 0 auto; - width: 100%; - max-width: 960px; -} - -#barra-brasil .brasil-flag { - float: left; - padding: 7px 0 6px; - width: 115px; - height: 19px; - border-right: 2px solid #dfdfdf; -} - -#barra-brasil .brasil-flag .link-barra { - display: block; - padding-left: 42px; - width: 43px; - background: embed("imagens/bandeira-brasil.png") 8px center no-repeat; - text-transform: uppercase; - line-height: 19px; -} - -#barra-brasil .acesso-info { - position: absolute; - left: 130px; -} - -#barra-brasil .list { - position: absolute; - top: 0; - right: 0; -} - -#barra-brasil .list .first { border-left: 2px solid #dfdfdf; } - -#barra-brasil .list-item { - display: inline-block; - padding: 0 15px 0 13px; - height: 32px; - border-right: 2px solid #dfdfdf; -} - -#barra-brasil .link-barra { color: #606060; } - -@media screen and (max-width: 668px) { - #barra-brasil .list { top: -100px; } -} - -@media screen and (min-width: 960px) { - #wrapper-barra-brasil { width: 960px; } -} - diff --git a/assets/fonts/opensans-bold.woff b/assets/fonts/opensans-bold.woff deleted file mode 100644 index 27619e7..0000000 Binary files a/assets/fonts/opensans-bold.woff and /dev/null differ diff --git a/assets/fonts/opensans-extrabold.woff b/assets/fonts/opensans-extrabold.woff deleted file mode 100644 index 888b779..0000000 Binary files a/assets/fonts/opensans-extrabold.woff and /dev/null differ diff --git a/assets/fonts/opensans.woff b/assets/fonts/opensans.woff deleted file mode 100644 index 55b25f8..0000000 Binary files a/assets/fonts/opensans.woff and /dev/null differ diff --git a/assets/imagens/ai.png b/assets/imagens/ai.png deleted file mode 100644 index 3dc7b77..0000000 Binary files a/assets/imagens/ai.png and /dev/null differ diff --git a/assets/imagens/bandeira-brasil.png b/assets/imagens/bandeira-brasil.png deleted file mode 100644 index a2fcc4d..0000000 Binary files a/assets/imagens/bandeira-brasil.png and /dev/null differ diff --git a/assets/imagens/barra-brasil-v3-bgx.gif b/assets/imagens/barra-brasil-v3-bgx.gif deleted file mode 100644 index 4660c71..0000000 Binary files a/assets/imagens/barra-brasil-v3-bgx.gif and /dev/null differ diff --git a/assets/imagens/barra-brasil-v3-bgx.png b/assets/imagens/barra-brasil-v3-bgx.png deleted file mode 100644 index 5514710..0000000 Binary files a/assets/imagens/barra-brasil-v3-bgx.png and /dev/null differ diff --git a/assets/imagens/brasil.png b/assets/imagens/brasil.png deleted file mode 100644 index 4bc21de..0000000 Binary files a/assets/imagens/brasil.png and /dev/null differ diff --git a/barra-brasil-1.yaml b/barra-brasil-1.yaml deleted file mode 100644 index da844b8..0000000 --- a/barra-brasil-1.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# configuracao do assetgen para: -# - gerar o script de comportamento, minificado -# - gerar o css com as imagens incorporadas - -generate: - -- barra-brasil.js: - source: - - assets/conteudo-barra.html - - assets/barra-brasil.coffee - - assets/estatisticas.coffee - - raw: "})();" # fechamento do escopo da funcao anonima (ver template abaixo) - template: | - (function(){ - var conteudoBarra = '${source|trim}'; - -- estilo-barra.css: - source: - - assets/estilo-barra.scss - depends: - - assets/imagens/* - embed.path.root: assets - embed.url.base: imagens/ - -- barra-brasil-css.js: - source: - - build/estilo-barra.css - template: | - window._barrabrasil.insere_css('${source|trim}'); - -css.embed: true -css.embed.only: true -css.compress: true -js.compress: false -js.uglify.bin: uglifyjs -output.directory: build -output.hashed: false -output.manifest: app/assets.json - -profile.dev: - css.compress: false - js.compress: false diff --git a/barra-brasil-2.yaml b/barra-brasil-2.yaml deleted file mode 100644 index 7f3094e..0000000 --- a/barra-brasil-2.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# configuracao do assetgen para: -# - mesclar o css com javascript de comportamento - -generate: - -- barra-brasil.js: - source: - - build/barra-brasil.js # parte de comportamento - - build/barra-brasil-css.js # codigo de insercao do css - uglify.bin: uglifyjs - -css.embed: true -css.embed.only: true -output.directory: app/templates -output.hashed: false -output.manifest: assets.json - -profile.dev: - css.compress: false - js.compress: false diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..06936d7 --- /dev/null +++ b/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh +echo . +echo . +if test -f recipes/$1 + sh recipes/$1/compile.sh + cp recipes/$1/build/barra-brasil.js app/templates/$1/ +else + echo "Error. Profile $1 does not exist." +fi diff --git a/recipes/default/assets/barra-brasil.coffee b/recipes/default/assets/barra-brasil.coffee new file mode 100755 index 0000000..5613cd9 --- /dev/null +++ b/recipes/default/assets/barra-brasil.coffee @@ -0,0 +1,36 @@ + divBarra = document.getElementById("barra-brasil") + divBarra.parentNode.removeChild(divBarra) if divBarra + head = document.getElementsByTagName("head")[0] + body = document.getElementsByTagName("body")[0] + + link = document.createElement("link") + href = document.createAttribute("href") + + novaDiv = document.createElement("div") + idNovaDiv = document.createAttribute("id") + idNovaDiv.nodeValue = "barra-brasil" + novaDiv.setAttributeNode idNovaDiv + # conteudoBarra definido no barra-brasil-1.yaml e atribuido pelo assetgen + novaDiv.innerHTML = conteudoBarra + body.insertBefore(novaDiv, body.childNodes[0]) + + # src.nodeValue = "http://barra.brasil.gov.br/estilo-barra.css"; + # href.nodeValue = "http://189.9.137.173/estilo-barra.css"; + # href.nodeValue = "static/estilo-barra.css" + window._barrabrasil = + insere_css: (css) -> + style = document.createElement("style") + tipo = document.createAttribute("type") + tipo.nodeValue = "text/css" + media = document.createAttribute("media") + media.nodeValue = "all" + style.setAttributeNode tipo + style.setAttributeNode media + + if style.styleSheet #Hack para IE8 + style.styleSheet.cssText = css + else + style.appendChild document.createTextNode(css) + + head.appendChild style + diff --git a/recipes/default/assets/conteudo-barra.html b/recipes/default/assets/conteudo-barra.html new file mode 100644 index 0000000..8bdcc0a --- /dev/null +++ b/recipes/default/assets/conteudo-barra.html @@ -0,0 +1 @@ +
Brasil
Acesso à informação
diff --git a/recipes/default/assets/estatisticas.coffee b/recipes/default/assets/estatisticas.coffee new file mode 100644 index 0000000..3aa702e --- /dev/null +++ b/recipes/default/assets/estatisticas.coffee @@ -0,0 +1,9 @@ + head = document.getElementsByTagName("head")[0] + novoScript = document.createElement("script") + tipo = document.createAttribute("type") + tipo.nodeValue = "text/javascript" + src = document.createAttribute("src") + src.nodeValue = "http://coletajavascript.serpro.gov.br/estatistica.js" + novoScript.setAttributeNode tipo + novoScript.setAttributeNode src + head.appendChild novoScript diff --git a/recipes/default/assets/estilo-barra.scss b/recipes/default/assets/estilo-barra.scss new file mode 100755 index 0000000..eeac61a --- /dev/null +++ b/recipes/default/assets/estilo-barra.scss @@ -0,0 +1,101 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +/* Css reset mínimo */ +#barra-brasil { + div, a, ul, li { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font-family: inherit; + vertical-align: baseline; + } +} + +#barra-brasil ul { + list-style: none; +} + +/* Css específico */ + +/* web font */ + +@font-face { + font-family: "Open Sans"; + font-style: normal; + font-weight: 700; + src: local("Open Sans Bold"), local("OpenSans-Bold"), url("http://barra.brasil.gov.br/static/opensans-bold.woff") format("woff"); +} + +/* fim da web font */ + +#barra-brasil { + height: 32px; + background: #f1f1f1; + font-weight: bold; + font-size: 12px; + line-height: 32px; + font-family: "Open Sans",Arial,Helvetica,sans-serif; + a { + text-decoration: none; + } +} + +div#wrapper-barra-brasil { + position: relative; + overflow: hidden; + margin: 0 auto; + width: 100%; + max-width: 960px; +} + +#barra-brasil .brasil-flag { + float: left; + padding: 7px 0 6px; + width: 115px; + height: 19px; + border-right: 2px solid #dfdfdf; +} + +#barra-brasil .brasil-flag .link-barra { + display: block; + padding-left: 42px; + width: 43px; + background: embed("imagens/bandeira-brasil.png") 8px center no-repeat; + text-transform: uppercase; + line-height: 19px; +} + +#barra-brasil .acesso-info { + position: absolute; + left: 130px; +} + +#barra-brasil .list { + position: absolute; + top: 0; + right: 0; +} + +#barra-brasil .list .first { border-left: 2px solid #dfdfdf; } + +#barra-brasil .list-item { + display: inline-block; + padding: 0 15px 0 13px; + height: 32px; + border-right: 2px solid #dfdfdf; +} + +#barra-brasil .link-barra { color: #606060; } + +@media screen and (max-width: 668px) { + #barra-brasil .list { top: -100px; } +} + +@media screen and (min-width: 960px) { + #wrapper-barra-brasil { width: 960px; } +} + diff --git a/recipes/default/assets/fonts/opensans-bold.woff b/recipes/default/assets/fonts/opensans-bold.woff new file mode 100644 index 0000000..27619e7 Binary files /dev/null and b/recipes/default/assets/fonts/opensans-bold.woff differ diff --git a/recipes/default/assets/fonts/opensans-extrabold.woff b/recipes/default/assets/fonts/opensans-extrabold.woff new file mode 100644 index 0000000..888b779 Binary files /dev/null and b/recipes/default/assets/fonts/opensans-extrabold.woff differ diff --git a/recipes/default/assets/fonts/opensans.woff b/recipes/default/assets/fonts/opensans.woff new file mode 100644 index 0000000..55b25f8 Binary files /dev/null and b/recipes/default/assets/fonts/opensans.woff differ diff --git a/recipes/default/assets/imagens/ai.png b/recipes/default/assets/imagens/ai.png new file mode 100644 index 0000000..3dc7b77 Binary files /dev/null and b/recipes/default/assets/imagens/ai.png differ diff --git a/recipes/default/assets/imagens/bandeira-brasil.png b/recipes/default/assets/imagens/bandeira-brasil.png new file mode 100644 index 0000000..a2fcc4d Binary files /dev/null and b/recipes/default/assets/imagens/bandeira-brasil.png differ diff --git a/recipes/default/assets/imagens/barra-brasil-v3-bgx.gif b/recipes/default/assets/imagens/barra-brasil-v3-bgx.gif new file mode 100644 index 0000000..4660c71 Binary files /dev/null and b/recipes/default/assets/imagens/barra-brasil-v3-bgx.gif differ diff --git a/recipes/default/assets/imagens/barra-brasil-v3-bgx.png b/recipes/default/assets/imagens/barra-brasil-v3-bgx.png new file mode 100644 index 0000000..5514710 Binary files /dev/null and b/recipes/default/assets/imagens/barra-brasil-v3-bgx.png differ diff --git a/recipes/default/assets/imagens/brasil.png b/recipes/default/assets/imagens/brasil.png new file mode 100644 index 0000000..4bc21de Binary files /dev/null and b/recipes/default/assets/imagens/brasil.png differ diff --git a/recipes/default/barra-brasil-1.yaml b/recipes/default/barra-brasil-1.yaml new file mode 100644 index 0000000..da844b8 --- /dev/null +++ b/recipes/default/barra-brasil-1.yaml @@ -0,0 +1,42 @@ +# configuracao do assetgen para: +# - gerar o script de comportamento, minificado +# - gerar o css com as imagens incorporadas + +generate: + +- barra-brasil.js: + source: + - assets/conteudo-barra.html + - assets/barra-brasil.coffee + - assets/estatisticas.coffee + - raw: "})();" # fechamento do escopo da funcao anonima (ver template abaixo) + template: | + (function(){ + var conteudoBarra = '${source|trim}'; + +- estilo-barra.css: + source: + - assets/estilo-barra.scss + depends: + - assets/imagens/* + embed.path.root: assets + embed.url.base: imagens/ + +- barra-brasil-css.js: + source: + - build/estilo-barra.css + template: | + window._barrabrasil.insere_css('${source|trim}'); + +css.embed: true +css.embed.only: true +css.compress: true +js.compress: false +js.uglify.bin: uglifyjs +output.directory: build +output.hashed: false +output.manifest: app/assets.json + +profile.dev: + css.compress: false + js.compress: false diff --git a/recipes/default/barra-brasil-2.yaml b/recipes/default/barra-brasil-2.yaml new file mode 100644 index 0000000..7f3094e --- /dev/null +++ b/recipes/default/barra-brasil-2.yaml @@ -0,0 +1,20 @@ +# configuracao do assetgen para: +# - mesclar o css com javascript de comportamento + +generate: + +- barra-brasil.js: + source: + - build/barra-brasil.js # parte de comportamento + - build/barra-brasil-css.js # codigo de insercao do css + uglify.bin: uglifyjs + +css.embed: true +css.embed.only: true +output.directory: app/templates +output.hashed: false +output.manifest: assets.json + +profile.dev: + css.compress: false + js.compress: false diff --git a/recipes/default/compile.sh b/recipes/default/compile.sh new file mode 100644 index 0000000..44b83e2 --- /dev/null +++ b/recipes/default/compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh +assetgen ./barra-brasil-1.yaml +assetgen ./barra-brasil-2.yaml -- libgit2 0.21.2