parent
907822836e
commit
47e83db3ac
@ -1,108 +0,0 @@
|
||||
|
||||
$(function(){
|
||||
|
||||
var model = {
|
||||
// renomear
|
||||
dat: [
|
||||
],
|
||||
read_json: function() {
|
||||
$.ajax({
|
||||
url: "/cards.json",
|
||||
dataType: 'json',
|
||||
async: false,
|
||||
success: function(data) {
|
||||
$(data["cards"]).each(function(){
|
||||
var card_info = $(this)[0];
|
||||
model.set_data(card_info);
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
set_data: function(d) {
|
||||
model.dat.push(d);
|
||||
},
|
||||
get_data: function() {
|
||||
return model.dat;
|
||||
},
|
||||
filter_data: function(conteudo) {
|
||||
var $d = model.dat;
|
||||
var $filter = [];
|
||||
var $c = conteudo.toLowerCase();
|
||||
$($d).each(function(i){
|
||||
if(
|
||||
$d[i].name.toLowerCase().indexOf($c) >= 0 ||
|
||||
$d[i].description.toLowerCase().indexOf($c) >= 0 ||
|
||||
$d[i].button_text.toLowerCase().indexOf($c) >= 0
|
||||
) {
|
||||
$filter.push($d[i]);
|
||||
}
|
||||
});
|
||||
return $filter;
|
||||
},
|
||||
init: function() {
|
||||
model.read_json();
|
||||
}
|
||||
};
|
||||
var octopus = {
|
||||
init: function() {
|
||||
model.init();
|
||||
view.init();
|
||||
octopus.create_card(model.get_data());
|
||||
},
|
||||
create_card: function(d) {
|
||||
$.each(d, function(i){
|
||||
view.create_card(d[i].name, d[i].description, d[i].button_text, d[i].link, d[i].tor);
|
||||
});
|
||||
},
|
||||
filter_data: function(c) {
|
||||
var d = model.filter_data(c);
|
||||
$.each(d, function(i){
|
||||
view.create_card(d[i].name, d[i].description, d[i].button_text, d[i].link, d[i].tor);
|
||||
});
|
||||
},
|
||||
recreate_cards: function() {
|
||||
octopus.create_card(model.get_data());
|
||||
}
|
||||
};
|
||||
|
||||
// Renomear
|
||||
var view = {
|
||||
init: function() {
|
||||
this.container = $(".flex-cards");
|
||||
this.search_field = $("#search_field");
|
||||
view.events();
|
||||
},
|
||||
events: function(){
|
||||
this.search_field.on('input',function(){
|
||||
var $conteudo = $(this).val();
|
||||
view.clean_cards();
|
||||
if($conteudo.length == 0){
|
||||
octopus.recreate_cards();
|
||||
}else {
|
||||
octopus.filter_data($conteudo);
|
||||
}
|
||||
});
|
||||
},
|
||||
create_card: function(name, desc, bt_txt, link, tor){
|
||||
var $card = $("<div>").addClass("card");
|
||||
var $h1 = $("<h1>").text(name);
|
||||
var $desc = $("<p>").text(desc);
|
||||
var $button = $("<button>").addClass("button").text(bt_txt);
|
||||
var $icon = $("<button>").addClass("tor").text("Tor");
|
||||
var $a = $("<a>").attr("href", link);
|
||||
var $tor = $("<a>").attr("href", tor);
|
||||
$a.append($button);
|
||||
$tor.append($icon);
|
||||
if (tor == "#") {
|
||||
$card.append($h1).append($desc).append($a);
|
||||
} else {
|
||||
$card.append($h1).append($desc).append($a).append($tor);
|
||||
}
|
||||
this.container.append($card);
|
||||
},
|
||||
clean_cards: function() {
|
||||
this.container.empty();
|
||||
}
|
||||
};
|
||||
octopus.init();
|
||||
});
|
@ -0,0 +1,24 @@
|
||||
import json
|
||||
|
||||
with open('cards.json') as f:
|
||||
x = json.load(f)
|
||||
|
||||
text = ""
|
||||
for i in x["cards"]:
|
||||
text += f"""
|
||||
<div class="card">
|
||||
<h1>{i["name"]}</h1>
|
||||
<p>{i["description"]}</p>
|
||||
<a href="{i["link"]}"><button class="button">{i["button_text"]}</button></a>
|
||||
"""
|
||||
if i["tor"] != "#":
|
||||
text += f'<a href="{i["tor"]}"><button class="tor">Tor</button></a>'
|
||||
|
||||
text += "</div>"
|
||||
|
||||
with open('_site/index.html') as f:
|
||||
y = f.read()
|
||||
|
||||
y = y.replace('<!-- JS cards here -->', text)
|
||||
with open('_site/index.html', 'w') as f:
|
||||
f.write(y)
|
File diff suppressed because one or more lines are too long
Loading…
Reference in new issue