Base front

This commit is contained in:
Felipe Martín 2015-06-16 23:40:53 +02:00
parent 438603c186
commit 8ddf0b53b9
17 changed files with 197 additions and 4 deletions

View File

@ -0,0 +1,10 @@
# coding: utf-8
# amiibo
from .models import Collection
def collections(request):
return {
'collections': Collection.objects.all().order_by('name_eu')
}

View File

View File

@ -0,0 +1,6 @@
# coding: utf-8
# django
from django.contrib import admin
# core

View File

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

View File

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

@ -0,0 +1,14 @@
# coding: utf-8
# django
from django.conf.urls import url, patterns
# home
from .views import HomeView
urlpatterns = patterns(
'',
url(r'^(?P<collection>[\w\d\-]+)/$', HomeView.as_view()),
url(r'^$', HomeView.as_view()),
)

View File

@ -0,0 +1,17 @@
# coding: utf-8
# django
from django.shortcuts import render
from django.views.generic.base import View
# amiibo
from amiibofindr.apps.amiibo.models import Amiibo
class HomeView(View):
template = 'home/home.html'
def get(self, request):
return render(request, self.template, {
'amiibo_list': Amiibo.objects.all()
})

View File

@ -44,6 +44,7 @@ INSTALLED_APPS = (
# own apps
'amiibofindr.apps.core',
'amiibofindr.apps.amiibo',
'amiibofindr.apps.home',
)
MIDDLEWARE_CLASSES = (
@ -63,7 +64,9 @@ ROOT_URLCONF = 'amiibofindr.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'DIRS': [
os.path.join(BASE_DIR, 'templates'),
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
@ -71,6 +74,7 @@ TEMPLATES = [
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'amiibofindr.apps.amiibo.context_processors.collections',
],
},
},
@ -106,7 +110,6 @@ USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),

View File

@ -0,0 +1,50 @@
// UIKit imports
@import "../../../bower_components/uikit/less/variables.less";
// Defaults
@import "../../../bower_components/uikit/less/core/base.less";
// Layout
@import "../../../bower_components/uikit/less/core/grid.less";
@import "../../../bower_components/uikit/less/core/panel.less";
// @import "../../../bower_components/uikit/less/core/block.less";
// @import "../../../bower_components/uikit/less/core/article.less";
// @import "../../../bower_components/uikit/less/core/comment.less";
// @import "../../../bower_components/uikit/less/core/cover.less";
// Navs
@import "../../../bower_components/uikit/less/core/nav.less";
@import "../../../bower_components/uikit/less/core/navbar.less";
@import "../../../bower_components/uikit/less/core/subnav.less";
// @import "../../../bower_components/uikit/less/core/breadcrumb.less";
// @import "../../../bower_components/uikit/less/core/pagination.less";
// @import "../../../bower_components/uikit/less/core/tab.less";
// @import "../../../bower_components/uikit/less/core/thumbnav.less";
// Elements
// @import "../../../bower_components/uikit/less/core/list.less";
// @import "../../../bower_components/uikit/less/core/description-list.less";
// @import "../../../bower_components/uikit/less/core/table.less";
// @import "../../../bower_components/uikit/less/core/form.less";
// Common
// @import "../../../bower_components/uikit/less/core/button.less";
// @import "../../../bower_components/uikit/less/core/icon.less";
// @import "../../../bower_components/uikit/less/core/close.less";
// @import "../../../bower_components/uikit/less/core/badge.less";
// @import "../../../bower_components/uikit/less/core/alert.less";
// @import "../../../bower_components/uikit/less/core/thumbnail.less";
// @import "../../../bower_components/uikit/less/core/overlay.less";
// @import "../../../bower_components/uikit/less/core/animation.less";
// JavaScript
// @import "../../../bower_components/uikit/less/core/dropdown.less";
// @import "../../../bower_components/uikit/less/core/modal.less";
// @import "../../../bower_components/uikit/less/core/offcanvas.less";
// @import "../../../bower_components/uikit/less/core/switcher.less";
// Need to be loaded last
// @import "../../../bower_components/uikit/less/core/text.less";
// @import "../../../bower_components/uikit/less/core/utility.less";
// @import "../../../bower_components/uikit/less/core/flex.less";
// @import "../../../bower_components/uikit/less/core/contrast.less";

View File

@ -0,0 +1,15 @@
{% load static %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="{% static "css/style.css" %}" charset="utf-8">
<title>{% block page_title %}{% endblock %}</title>
</head>
<body>
<nav class="uk-navbar">
<a href="/" class="uk-navbar-brand">AmiiboFindr</a>
</nav>
{% block main_content %}{% endblock %}
</body>
</html>

View File

@ -0,0 +1,22 @@
{% extends "_layout.html" %}
{% block main_content %}
<ul class="uk-subnav uk-subnav-pill">
{% for collection in collections %}
<li {% if selected_collection == collection.slug %}class="uk-active"{% endif %}>
<a href="/{{ collection.slug }}/">{{ collection.name_eu }}</a>
</li>
{% endfor %}
</ul>
<div class="uk-grid">
{% for amiibo in amiibo_list %}
<div class="uk-width-medium-1-5">
<a class="uk-panel uk-panel-box uk-panel-box-hover">
<h3 class="uk-panel-title uk-text-center">{{ amiibo.name_eu }}</h3>
<img src="{{ amiibo.image_statue }}" />
</a>
</div>
{% if forloop.counter|divisibleby:5 %}</div><div class="uk-grid">{% endif %}
{% endfor %}
</div>
{% endblock %}

View File

@ -23,7 +23,8 @@ from django.conf.urls.static import static
urlpatterns = patterns(
'',
url(r'^admin/', include(admin.site.urls)),
url(r'^', include('amiibofindr.apps.home.urls')),
url(r'^amiibofindr-admin/', include(admin.site.urls)),
)
if settings.DEBUG:

16
bower.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "vagrant",
"version": "0.0.0",
"homepage": "https://github.com/fmartingr/amiibofindr",
"license": "MIT",
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"uikit": "~2.21.0"
}
}

View File

@ -6,7 +6,7 @@ from fabric.api import local
@click.command()
@click.option('--branch', '-b', default='stable',
@click.option('--branch', '-b', default='master',
help='Branch to git clone from')
@click.option('--inventory', '-i', default='hosts',
help='Inventory file for ansible to use')

16
gulpfile.js Normal file
View File

@ -0,0 +1,16 @@
var gulp = require('gulp'),
watch = require('gulp-watch'),
less = require('gulp-less'),
livereload = require('gulp-livereload');
gulp.task('less', function() {
gulp.src('amiibofindr/static/less/**/*.less')
.pipe(less())
.pipe(gulp.dest('amiibofindr/static/css'))
.pipe(livereload());
});
gulp.task('watch', function() {
livereload.listen({ start: true });
gulp.watch('amiibofindr/**/less/**/*.less', ['less']);
});

17
package.json Normal file
View File

@ -0,0 +1,17 @@
{
"name": "amiibofindr",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "GPLv2",
"devDependencies": {
"gulp": "^3.9.0",
"gulp-less": "^3.0.3",
"gulp-livereload": "^3.8.0",
"gulp-watch": "^4.2.4"
}
}