From b743d1af89ac416e7905a2b86c1749530e5829c8 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Tue, 27 Nov 2012 21:29:22 +0100 Subject: [PATCH] very rough layout with header/content-main/content-related --- Makefile | 43 +++++++++++++++++- README | 46 ++++++++++++++++++++ auth/templates/{auth.html => login.html} | 0 auth/views.py | 2 +- myslice/static/css/mymenu.css | 19 +++++++- myslice/static/css/myslice.css | 28 ++++++++++++ myslice/static/img/myslice-logo.png | Bin 4595 -> 4384 bytes myslice/templates/mymenu.html | 14 ++++-- myslice/templates/myslice-base.html | 37 ---------------- myslice/templates/myslice.html | 53 +++++++++++++++++++++++ myslice/urls.py | 1 + slice/templates/slice.html | 5 +-- slice/views.py | 8 ++++ templates/myslice.html | 28 ------------ 14 files changed, 208 insertions(+), 76 deletions(-) create mode 100644 README rename auth/templates/{auth.html => login.html} (100%) create mode 100644 myslice/static/css/myslice.css delete mode 100644 myslice/templates/myslice-base.html create mode 100644 myslice/templates/myslice.html delete mode 100644 templates/myslice.html diff --git a/Makefile b/Makefile index 80fcc4f1..d18ae06d 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,10 @@ -all: tags +### +all: + @echo no default target force: +#################### compute emacs tags # in general it's right to rely on the contents as reported by git tags: force git ls-files | xargs etags @@ -10,8 +13,46 @@ tags: force ftags: force find . -type f | fgrep -v '/.git/' | xargs etags +#################### manage static contents (extract from all the modules into the single all-static location) static: force ./manage.py collectstatic --noinput clean-static: force rm -rf ./all-static/ + +#################### sync : push current code on a (devel) box running myslice +SSHURL:=root@$(MYSLICEBOX):/ +SSHCOMMAND:=ssh root@$(MYSLICEBOX) + +### rsync options +# the config file should probably not be overridden +LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc' --exclude settings.py --exclude devel +# usual excludes +RSYNC_EXCLUDES := --exclude .git --exclude '*~' --exclude TAGS --exclude .DS_Store $(LOCAL_RSYNC_EXCLUDES) +# make -n will propagate as rsync -n +RSYNC_COND_DRY_RUN := $(if $(findstring n,$(MAKEFLAGS)),--dry-run,) +# putting it together +RSYNC := rsync -a -v $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES) + +# xxx until we come up with a packaging this is going to be a wild guess +INSTALLED=/usr/share/myslice + +sync: +ifeq (,$(MYSLICEBOX)) + @echo "you need to set MYSLICEBOX, like in e.g." + @echo " $(MAKE) MYSLICEBOX=debian04.pl.sophia.inria.fr "$@"" + @exit 1 +else + +$(RSYNC) ./ $(SSHURL)/$(INSTALLED)/ +endif + +# xxx likewise until we run this under apache it's probably hard to restart from here +restart: +ifeq (,$(MYSLICEBOX)) + @echo "you need to set MYSLICEBOX, like in e.g." + @echo " $(MAKE) MYSLICEBOX=debian04.pl.sophia.inria.fr "$@"" + @exit 1 +else + @echo "$@" target not yet implemented; exit; @$(SSHCOMMAND) /etc/init.d/apache2 restart +endif + diff --git a/README b/README new file mode 100644 index 00000000..a956b99a --- /dev/null +++ b/README @@ -0,0 +1,46 @@ +The contents of this module: + +==================== 1st level subdirs +* myslice: + this is the sjango project', where to look for + . settings + . urls + . common static files + +* insert_above: + a third-party django app for adding on-the-fly mentions to css or js files that need to go in the header + much like our past drupal_set_html_head() + +* auth: + a django 'app' that deals with authentication + +* slice: + a django app for dealing with slice views + +* devel: + only for various notes and other utiliy scripts + +* all-static: (generated, no need to source-control) + this is where 'manage.py collectstatic' will gather all your static contents if you run a local server + make has convenience targets to refresh this area + $ make clean-static + $ make static +==================== conventions + +* templates: + we store this under templates/ within the corresponding app, e.g. + auth/templates/login.html + for now this is only about html, but the engine can be used for rendering anything including json or whatever.. + +* static files: + we chose to have all static files (images, but also javascript and stylesheets) in the various + proj or app where they belong, under a static/ subdir that has this structure: + where-it-belongs/ + static/ + img/ + css/ + js/ + the stuff I have so far is in myslice/ because it looks common to all apps.. + + + diff --git a/auth/templates/auth.html b/auth/templates/login.html similarity index 100% rename from auth/templates/auth.html rename to auth/templates/login.html diff --git a/auth/views.py b/auth/views.py index 3004c2eb..11f773bb 100644 --- a/auth/views.py +++ b/auth/views.py @@ -21,5 +21,5 @@ def login_user(request): else: state = "Your username and/or password were incorrect." - return render_to_response('auth.html',{'state':state, 'username': username}, + return render_to_response('login.html',{'state':state, 'username': username}, context_instance=RequestContext(request)) diff --git a/myslice/static/css/mymenu.css b/myslice/static/css/mymenu.css index cddbfe8e..06e37819 100644 --- a/myslice/static/css/mymenu.css +++ b/myslice/static/css/mymenu.css @@ -1,8 +1,23 @@ -ul#mymenu { +ul#mymenu { display: block; } +ul#mymenu>li { display: block; + float: left; + padding: 5px; +} + +/* +div.mymenu { position: fixed; display: block; padding:0; margin:0; - bottom: 10px; + top: 10px; right: 10px; + background-color: #abc; +} + +ul.mymenu { + list-style-type: none; + margin: 0; + padding: 0; } +*/ diff --git a/myslice/static/css/myslice.css b/myslice/static/css/myslice.css new file mode 100644 index 00000000..4173ccc4 --- /dev/null +++ b/myslice/static/css/myslice.css @@ -0,0 +1,28 @@ +#header { + position: fixed; + display: block; + margin:0; + top: 0px; + left: 0px; + right: 0px; + height: 60px; + background-color: #fc9; +} + +#column-wrap { + margin-top: 60px; + display: table; + table-layout: fixed; + border-collapse: collapse; +} +#content-main, #content-related { + display: table-cell; + position: static; + padding: 10px; +} +#content-main { + width: 100%; +} +#content-related { + width: 200px; +} diff --git a/myslice/static/img/myslice-logo.png b/myslice/static/img/myslice-logo.png index f6b5de4fa3616f5c03b6da23a5210d4a703c5f03..74413e51f72ca2d616d1779bafc8c3fcb3565721 100644 GIT binary patch literal 4384 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 d*oW=C_CF4um~7NYgNpzF002ovPDHLkV1ijSgv