Skip to content

Instantly share code, notes, and snippets.

View cirocosta's full-sized avatar

Ciro S. Costa cirocosta

View GitHub Profile
@cirocosta
cirocosta / jekl.md
Created April 25, 2014 01:09
Jekyll - algumas infos de inicio

Jekyll

O que é

É um gerador de páginas estáticas, isto é, gera arquivos .html que serão servidos por algum servidor, não sendo necessário banco de dados, página de admin, etc.

Escrito em Ruby, distribuído pelo manuseador de pacotes Gems.

Para iniciar um novo diretório com os arquivos do mesmo, basta rodar $jekyll new MEUBLOG.

@cirocosta
cirocosta / bower.md
Last active August 29, 2015 14:00
Bower

Solução sem opinião para o problema de manuseio de pacotes de frontent

O Bower simplesmente trata de baixar pacotes a partir de determinada referência dada para o mesmo e então joga o pacote obtido do repositório no local designado (bower_components como padrão ou algum designado no .bowerrc). É agnóstico quanto ao modo com que os arquivos são incluidos/requisitados no código.

Diferentemente do npm, não armazena os pacotes (tarball) no registro, mas apenas mapeia nome de pacote ao endpoint. Lida apenas com dependências flat, ou seja, não cria uma árvore de dependencias dentro do bower_componentes como o npm faria; ele coloca as dependências (listadas no bower.json do arquivo baixado) na mesma raíz a qual o baixado está.

No exemplo abaixo será então baixado o que há no brach branch2 do repositório cirocosta/teste-bower e colocado então na pasta bower_components/pasta-desejada. Segue um exemplo de um arquivo bower.json:

@cirocosta
cirocosta / traverse-obj.js
Created May 9, 2014 20:49
Traverse JS object
function traverseObj (obj) {
if (typeof obj === "object") {
$.each(obj, function(index, value) {
console.log(index);
traverse(value);
});
} else {
console.log(obj);
}
}
@cirocosta
cirocosta / example.js
Last active August 29, 2015 14:01
Simple NodeJS dir Watcher
#!/usr/bin/env node
var watchFile = require('./watcher');
watchFiles(process.cwd(), function (file) {
console.log(file);
});
@cirocosta
cirocosta / find-r.js
Created May 20, 2014 03:03
Recursivelly find js files given root and ignored paths
var path = require('path');
var fs = require('fs');
function getJsFilesInPath (dir, ignoredPaths, files) {
'use strict';
var join = path.join;
files = files || [];
fs.readdirSync(dir).filter(function (filePath) {
@cirocosta
cirocosta / eased-inp.js
Last active August 29, 2015 14:01
Eased input in AngularJS
/**
* Applies logic from [debounce](http://underscorejs.org/#debounce)
* to angularjs.
* ver mais em http://loopinfinito.com.br/2013/09/24/throttle-e-debounce-patterns-em-javascript/
*/
function Ctrl($scope) {
$scope.$watch('typing', debounce(function() {
$scope.typed = $scope.typing;
$scope.$apply();
@cirocosta
cirocosta / has-duplicates.js
Created May 23, 2014 19:10
Verifies if there's a duplicated string in an array (javascript)
function hasDuplicates(array) {
var valuesSoFar = {};
for (var i = 0; i < array.length; ++i) {
var value = array[i];
if (Object.prototype.hasOwnProperty.call(valuesSoFar, value)) {
return true;
}
valuesSoFar[value] = true;
}
return false;
@cirocosta
cirocosta / format-number.js
Last active August 29, 2015 14:01
Dado um numero, formata o mesmo (para 'currency-a-like') de acordo com um divisor passado.
/**
* Dado um numero, formata o mesmo de acordo com um divisor passado.
* @param {'number'} number numero a formatar
* @param {'string'} divider dos centavos
* @return {'string'} o numero formatado.
*/
function formatNumber (number, cDivider) {
number = number.toFixed(2) + '';
var x = number.split('.')
, x1 = x[0]
@cirocosta
cirocosta / translate-file-with-list.js
Last active August 29, 2015 14:01
Translates a file with a list of texts to be translated
#!/usr/bin/env node
var Lazy = require('lazy');
var fs = require('fs');
var poliglota = require('poliglota');
var argv = require('minimist')(process.argv.slice(2));
new Lazy(fs.createReadStream(argv.filename || 'port.txt'))
.lines
.forEach(function (line) {
@cirocosta
cirocosta / ddds.json
Created June 10, 2014 02:21
Brazilian DDDs
{
"ddds":[
68,
82,
97,
92,
96,
75,
73,
74,