CSS and web resources are now a plugin
svn: r15711
47
src/plugins/webstuff/Makefile.am
Normal file
@@ -0,0 +1,47 @@
|
||||
# This is the src/plugins/webstuff level Makefile for Gramps
|
||||
# We could use GNU make's ':=' syntax for nice wildcard use,
|
||||
# but that is not necessarily portable.
|
||||
# If not using GNU make, then list all .py files individually
|
||||
|
||||
DATAFILES = \
|
||||
css/behaviour.css \
|
||||
css/Web_Basic-Spruce.css \
|
||||
css/Web_Mainz.css \
|
||||
css/Web_Basic-Ash.css \
|
||||
css/Web_Navigation-Horizontal.css \
|
||||
css/Web_Basic-Blue.css \
|
||||
css/Web_Navigation-Vertical.css \
|
||||
css/Web_Basic-Cypress.css \
|
||||
css/Web_Nebraska.css \
|
||||
css/Web_Basic-Lilac.css \
|
||||
css/Web_Print-Default.css \
|
||||
css/Web_Basic-Peach.css \
|
||||
css/Web_Visually.css \
|
||||
images/blank.gif \
|
||||
images/document.png \
|
||||
images/favicon2.ico \
|
||||
images/favicon.ico \
|
||||
images/Web_Gender_Female.png \
|
||||
images/Web_Gender_Male.png \
|
||||
images/Web_Mainz_Bkgd.png \
|
||||
images/Web_Mainz_Header.png \
|
||||
images/Web_Mainz_MidLight.png \
|
||||
images/Web_Mainz_Mid.png
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@/plugins/webstuff
|
||||
|
||||
pkgdata_PYTHON = \
|
||||
webstuff.py \
|
||||
webstuff.gpr.py
|
||||
|
||||
pkgpyexecdir = @pkgpyexecdir@/plugins/webstuff
|
||||
pkgpythondir = @pkgpythondir@/plugins/webstuff
|
||||
|
||||
# Clean up all the byte-compiled files
|
||||
MOSTLYCLEANFILES = *pyc *pyo
|
||||
|
||||
GRAMPS_PY_MODPATH = "../../"
|
||||
|
||||
pycheck:
|
||||
(export PYTHONPATH=$(GRAMPS_PY_MODPATH); \
|
||||
pychecker $(pkgdata_PYTHON));
|
||||
1464
src/plugins/webstuff/css/Web_Basic-Ash.css
Normal file
1608
src/plugins/webstuff/css/Web_Basic-Blue.css
Normal file
1466
src/plugins/webstuff/css/Web_Basic-Cypress.css
Normal file
1483
src/plugins/webstuff/css/Web_Basic-Lilac.css
Normal file
1489
src/plugins/webstuff/css/Web_Basic-Peach.css
Normal file
1485
src/plugins/webstuff/css/Web_Basic-Spruce.css
Normal file
1493
src/plugins/webstuff/css/Web_Mainz.css
Normal file
102
src/plugins/webstuff/css/Web_Navigation-Horizontal.css
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2008-2010 Rob G. Healey <robhealey1@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
**************************************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Web_Navigation-Horizontal Stylesheet
|
||||
***************************************************************************************************
|
||||
|
||||
# $Id: Web_Navigation-Horizontal.css 15207 2010-04-17 16:50:00Z robhealey1 $
|
||||
|
||||
Body Element
|
||||
----------------------------------------------------- */
|
||||
body {
|
||||
margin: 0 auto;
|
||||
padding: 0px 4px 0px 4px;
|
||||
width: 1060px;
|
||||
}
|
||||
|
||||
/* lphabet Navigation
|
||||
----------------------------------------------------- */
|
||||
div#alphabet {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
div#alphabet ul {
|
||||
list-style: none;
|
||||
min-width: 770px;
|
||||
height: 24px;
|
||||
margin: 0;
|
||||
padding: 0px 0px 0px 16px;
|
||||
border-width: 2px 0px 2px 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
div#alphabet ul li {
|
||||
border-width: 0px 2px 0px 2px;
|
||||
border-style: solid;
|
||||
margin: 0;
|
||||
float: left;
|
||||
}
|
||||
div#alphabet ul li:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
div#alphabet ul li a {
|
||||
font: normal 16px sans;
|
||||
display: block;
|
||||
padding: 4px 8px 4px 8px;
|
||||
float: left;
|
||||
margin: 0;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Navigation/ Subnavigation
|
||||
----------------------------------------------------- */
|
||||
div#navigation, div#subnavigation {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
div#navigation ul, div#subnavigation ul {
|
||||
list-style: none;
|
||||
min-width: 900px;
|
||||
height: 32px;
|
||||
margin: 0;
|
||||
padding: 0px 0px 0px 10px;
|
||||
border-width: 2px 0px 2px 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
div#navigation ul li, div#subnavigation ul li {
|
||||
border-width: 0px 2px 0px 2px;
|
||||
border-style: solid;
|
||||
float: left;
|
||||
margin: 0;
|
||||
}
|
||||
div#navigation ul li:first-child, div#subnavigation ul li:first-child {
|
||||
border-left: none;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
}
|
||||
div#navigation ul li a, div#subnavigation ul li a {
|
||||
display: block;
|
||||
padding: 8px 6px 6px 6px;
|
||||
font: normal 12px serif;
|
||||
text-decoration: none;
|
||||
}
|
||||
148
src/plugins/webstuff/css/Web_Navigation-Vertical.css
Normal file
@@ -0,0 +1,148 @@
|
||||
/*
|
||||
# encoding: utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2008-2010 Rob G. Healey <robhealey1@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
**************************************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Web_Navigation-Vertical.css Stylesheet
|
||||
***************************************************************************************************
|
||||
|
||||
# $Id: Web_Navigation-Vertical.css 15241 2010-04-19 11:07:00Z robhealey1 $
|
||||
|
||||
Header
|
||||
----------------------------------------------------- */
|
||||
#header {
|
||||
position: fixed;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
overflow: auto;
|
||||
width: 100%;
|
||||
height: 65px;
|
||||
}
|
||||
|
||||
/* Body Element
|
||||
----------------------------------------------------- */
|
||||
body {
|
||||
color: #000;
|
||||
background-color: #FFF;
|
||||
padding: 60px 0px 0px 136px;
|
||||
}
|
||||
|
||||
/* Alphabet Navigation
|
||||
----------------------------------------------------- */
|
||||
div#alphabet {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: solid 2px #000;
|
||||
}
|
||||
div#alphabet ul {
|
||||
list-style:none;
|
||||
min-width: 900px;
|
||||
height: 24px;
|
||||
margin:0;
|
||||
padding: 0px 0px 0px 9px;
|
||||
border-bottom: solid 2px #000;
|
||||
}
|
||||
div#alphabet ul li {
|
||||
float: left;
|
||||
}
|
||||
div#alphabet ul li:first-child {
|
||||
margin-left: 10px;
|
||||
}
|
||||
div#alphabet ul li:after {
|
||||
content: "| ";
|
||||
}
|
||||
div#alphabet ul li a {
|
||||
display: block;
|
||||
padding: 4px 8px 4px 8px;
|
||||
float: left;
|
||||
font: .8em bold italic small-caps verdana, serif;
|
||||
color: #000;
|
||||
text-decoration:none;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
/* Navigation
|
||||
----------------------------------------------------- */
|
||||
div#navigation {
|
||||
position: fixed;
|
||||
left: 0px;
|
||||
top: 55px;
|
||||
}
|
||||
div#navigation ul {
|
||||
width: 132px;
|
||||
height: 424px;
|
||||
list-style: none;
|
||||
padding: 0px 0px 0px 8px;
|
||||
border: solid 4px #000;
|
||||
}
|
||||
div#navigation ul li {
|
||||
display: inline;
|
||||
font: bold 14px/100% sans;
|
||||
float: left;
|
||||
border-width: 0px 0px 2px 0px;
|
||||
border-style: solid;
|
||||
}
|
||||
div#navigation ul li:first-child {
|
||||
border-top: none;
|
||||
padding-top: 20px;
|
||||
}
|
||||
div#navigation ul li a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
/* SubNavigation
|
||||
----------------------------------------------------- */
|
||||
div#subnavigation {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: solid 2px #000;
|
||||
}
|
||||
div#subnavigation ul {
|
||||
list-style:none;
|
||||
min-width: 900px;
|
||||
height: 40px;
|
||||
margin:0;
|
||||
padding: 0px 0px 0px 16px;
|
||||
border-bottom: solid 2px #5D835F;
|
||||
}
|
||||
div#subnavigation ul li {
|
||||
float:left;
|
||||
}
|
||||
div#subnavigation ul li:after {
|
||||
content: "| ";
|
||||
}
|
||||
div#subnavigation ul li a {
|
||||
display: block;
|
||||
padding: 12px 16px 14px 1px;
|
||||
float:left;
|
||||
font: .8em bold italic small-caps verdana, serif;
|
||||
color: #000;
|
||||
text-decoration:none;
|
||||
margin:0;
|
||||
}
|
||||
div#subnavigation ul li a:hover {
|
||||
background-color: #C1B398;
|
||||
}
|
||||
1520
src/plugins/webstuff/css/Web_Nebraska.css
Normal file
700
src/plugins/webstuff/css/Web_Print-Default.css
Normal file
@@ -0,0 +1,700 @@
|
||||
/*
|
||||
**************************************************************************************************
|
||||
Copyright Holder and License
|
||||
**************************************************************************************************
|
||||
GRAMPS Cascading Style Sheet
|
||||
Style Name: Print Style Sheet
|
||||
Style Author: Jason M. Simanek (2008)
|
||||
Modified by Rob G. Healey, July 2008-2010
|
||||
|
||||
**************************************************************************************************
|
||||
This website was created with GRAMPS <http://www.gramps-project.org/>
|
||||
--------------------------------------------------------------------------------------------------
|
||||
GRAMPS is a Free Software Project for Genealogy, offering a professional
|
||||
genealogy program, and a wiki open to all. It is a community project, created,
|
||||
developed and governed by genealogists.
|
||||
|
||||
'Go to <http://gramps-project.org/> to learn more!
|
||||
|
||||
--------------------------------------------------------------------------------------------------
|
||||
(C) Copyright 2008-2010 Rob G. Healey
|
||||
|
||||
This file is part of the GRAMPS program.
|
||||
|
||||
GRAMPS is free software: you can redistribute it and/or modify it under the
|
||||
terms of the GNU General Public License as published by the Free Software
|
||||
Foundation, version 2 of the License.
|
||||
|
||||
GRAMPS is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||||
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along with
|
||||
GRAMPS. If not, see <http://www.gnu.org/licenses/>.
|
||||
--------------------------------------------------------------------------------------------------
|
||||
|
||||
Color Palette
|
||||
--------------------------------------------------------------------------------------------------
|
||||
gray #A7A7A7
|
||||
red #520
|
||||
black #000
|
||||
white #FFF
|
||||
---------------------------------------------------------------------------------------------------
|
||||
|
||||
# $Id: Web_Print-Default.css 15639 2010-07-16 03:17:08Z robhealey1 $
|
||||
|
||||
NarrativeWeb Styles
|
||||
--------------------------------------------------------------------------------------------
|
||||
|
||||
General Elements
|
||||
----------------------------------------------------- */
|
||||
|
||||
body {
|
||||
color:#000;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
}
|
||||
div {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
img {
|
||||
border:none;
|
||||
margin:0;
|
||||
}
|
||||
.content { }
|
||||
.content div.snapshot {
|
||||
float:right;
|
||||
margin:1.6em;
|
||||
padding-top: .5cm;
|
||||
background:none;
|
||||
}
|
||||
.content div.snapshot div.thumbnail {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
.content .thumbnail a:link:after, .content .thumbnail a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
.fullclear {
|
||||
width:100%;
|
||||
height:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
/* General Text
|
||||
----------------------------------------------------- */
|
||||
h1 {
|
||||
font:normal 16pt/18pt serif;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
h2 {
|
||||
font:normal 18pt/23pt serif;
|
||||
display:inline;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
h3 {
|
||||
font:normal 18pt/23pt serif;
|
||||
text-align:left;
|
||||
display:inline;
|
||||
margin:0 0 0 8pt;
|
||||
padding:0;
|
||||
}
|
||||
h4 {
|
||||
display: block;
|
||||
clear: both;
|
||||
font: normal 14pt/16pt serif;
|
||||
margin: 8pt 0 0 0;
|
||||
padding: 8pt 0 1pt 0;
|
||||
border-top: solid .5pt #A7A7A7;
|
||||
}
|
||||
h5, h6 {
|
||||
font:normal 14pt/16pt serif;
|
||||
font-style:italic;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
p {
|
||||
font:normal 11pt/14pt serif;
|
||||
}
|
||||
p#description {
|
||||
margin:0 0 14pt 0;
|
||||
}
|
||||
a:link, a:visited {
|
||||
color:#520;
|
||||
text-decoration:underline;
|
||||
}
|
||||
.content a:link:after, content a:visited:after {
|
||||
font-size:70%;
|
||||
font-family:sans-serif;
|
||||
content:" (" attr(href) ") ";
|
||||
}
|
||||
.content ol li a:link {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content ol li a:link:after, .content ol li a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
sup {
|
||||
line-height:0;
|
||||
}
|
||||
ol {
|
||||
font:normal .9em/1.6em sans-serif;
|
||||
margin-top:0;
|
||||
margin-bottom:0;
|
||||
padding-top:.5em;
|
||||
padding-bottom:0;
|
||||
}
|
||||
|
||||
/* Header
|
||||
----------------------------------------------------- */
|
||||
#Header {
|
||||
padding: 0 0 8pt 0;
|
||||
margin: 0 0 8pt 0;
|
||||
border-bottom: solid .5pt #000;
|
||||
}
|
||||
#SiteTitle {
|
||||
text-align: left;
|
||||
margin-left: 20px;
|
||||
padding: 0;
|
||||
}
|
||||
#user_header {
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
.grampsid {
|
||||
font-size: 60%;
|
||||
font-family: monospace;
|
||||
color: #A7A7A7
|
||||
}
|
||||
|
||||
/* Navigation
|
||||
----------------------------------------------------- */
|
||||
#alphabet, #navigation, #subnavigation { display:none; }
|
||||
|
||||
/* Main Table
|
||||
----------------------------------------------------- */
|
||||
table {
|
||||
width:100%;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
border-collapse:collapse;
|
||||
border-bottom:solid .5pt #FFF;
|
||||
}
|
||||
table thead tr th {
|
||||
text-align:left;
|
||||
font:normal 11pt/13pt serif;
|
||||
color:#000;
|
||||
margin:0;
|
||||
padding:0;
|
||||
padding-bottom:1pt;
|
||||
border-bottom:solid .5pt #000;
|
||||
}
|
||||
.content table thead tr th a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content table thead tr th a:link:after, .content table thead tr th a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
table tbody tr td {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
vertical-align:middle;
|
||||
padding:2pt 6pt 1pt 0;
|
||||
border-bottom:dashed .5pt #A7A7A7;
|
||||
}
|
||||
.content table tbody tr td a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content table tbody tr td a:link:after, .content table tbody tr td a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
table tr.BeginLetter td, table.infolist tr.BeginSurname td {
|
||||
border-top:solid .5pt #A7A7A7;
|
||||
}
|
||||
table tbody tr td.ColumnRowLabel {
|
||||
width: 3%;
|
||||
color: #A7A7A7;
|
||||
text-align: center;
|
||||
}
|
||||
table tr td.ColumnLetter {
|
||||
width: 6%;
|
||||
text-align: center;
|
||||
}
|
||||
table tr td.ColumnAttribute {
|
||||
width: 10%;
|
||||
}
|
||||
.content table tbody tr td.ColumnName a {
|
||||
text-decoration: none;
|
||||
}
|
||||
table tbody tr td.ColumnBirth {
|
||||
width: 10%;
|
||||
}
|
||||
table tbody tr td.ColumnDeath {
|
||||
width: 10%;
|
||||
text-decoration: underline;
|
||||
}
|
||||
table tbody tr td.ColumnParents {
|
||||
font-size: 70%;
|
||||
}
|
||||
table tbody tr td.ColumnParents span.mother:before {
|
||||
content: "+ ";
|
||||
}
|
||||
|
||||
/* Home/Welcome
|
||||
----------------------------------------------------- */
|
||||
#Home p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Home img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
|
||||
/* Introduction
|
||||
----------------------------------------------------- */
|
||||
#Introduction p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Introduction img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
|
||||
/* Surnames
|
||||
----------------------------------------------------- */
|
||||
#Surnames { }
|
||||
table.surnamelist tr thead th.ColumnSurname, #Surnames table.surnamelist tbody tr td.ColumnSurname {
|
||||
width:50%;
|
||||
}
|
||||
table#SortByName thead tr th.ColumnSurname a:after, table#SortByCount thead tr th.ColumnQuantity a:after {
|
||||
content:" ↓";
|
||||
}
|
||||
table.surname thead tr th.ColumnParents, table.surname tbody tr td.ColumnParents {
|
||||
width:35%;
|
||||
}
|
||||
|
||||
/* Individuals
|
||||
----------------------------------------------------- */
|
||||
|
||||
/* PlaceDetail
|
||||
------------------------------------------------------ */
|
||||
div#PlaceDetail h5 {
|
||||
text-align: center;
|
||||
float: center;
|
||||
font: normal 1.4em sans;
|
||||
border-bottom: double 4px #000;
|
||||
}
|
||||
|
||||
/* Gallery
|
||||
----------------------------------------------------- */
|
||||
#GalleryDetail h2 {
|
||||
display:none;
|
||||
}
|
||||
#GalleryNav {
|
||||
display:none;
|
||||
}
|
||||
#GalleryDisplay {
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
position:relative;
|
||||
overflow:hidden;
|
||||
text-align:center;
|
||||
}
|
||||
#GalleryDisplay img {
|
||||
margin:0 auto;
|
||||
border:solid 1pt #542;
|
||||
}
|
||||
#GalleryDetail h3 {
|
||||
display:block;
|
||||
text-align:center;
|
||||
margin:2pt 0 8pt 0;
|
||||
}
|
||||
|
||||
/* Download
|
||||
----------------------------------------------------- */
|
||||
#Download p {
|
||||
margin:0 0 9pt 0;
|
||||
}
|
||||
#Download img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
|
||||
/* Contact
|
||||
----------------------------------------------------- */
|
||||
#researcher {
|
||||
margin:16pt 0 0 0;
|
||||
}
|
||||
#Contact img {
|
||||
float:right;
|
||||
margin:0;
|
||||
padding:0 0 9pt 9pt;
|
||||
}
|
||||
#researcher h3 {
|
||||
margin:0;
|
||||
}
|
||||
#researcher span {
|
||||
font:normal .9em/1.4em serif;
|
||||
display:block;
|
||||
float:left;
|
||||
margin-right:.4em;
|
||||
}
|
||||
#city {
|
||||
clear:left;
|
||||
}
|
||||
#city:after {
|
||||
content:",";
|
||||
}
|
||||
#email {
|
||||
clear:left;
|
||||
}
|
||||
|
||||
/* Subsections
|
||||
----------------------------------------------------- */
|
||||
#Home, #Introduction, #Download, #Contact {
|
||||
padding:3em 20px;
|
||||
}
|
||||
|
||||
/* Subsections : Events
|
||||
----------------------------------------------------- */
|
||||
#IndividualDetail .ColumnValue {
|
||||
padding:4pt 0;
|
||||
}
|
||||
.ColumnValue p {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
margin:1pt 0 0 18pt;
|
||||
}
|
||||
|
||||
/* Subsections : Gallery
|
||||
----------------------------------------------------- */
|
||||
#indivgallery h4 {
|
||||
margin-bottom:1em;
|
||||
}
|
||||
#indivgallery .thumbnail {
|
||||
margin:0;
|
||||
float:left;
|
||||
width:130px;
|
||||
height:150px;
|
||||
text-align:center;
|
||||
}
|
||||
#indivgallery .thumbnail a {
|
||||
display:block;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
#indivgallery .thumbnail a img {
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:solid .5pt #000;
|
||||
}
|
||||
#indivgallery div.thumbnail p {
|
||||
font:normal 7pt/9pt sans-serif;
|
||||
text-align:center;
|
||||
width:80%;
|
||||
margin:0 auto;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* Subsections : Pedigree
|
||||
----------------------------------------------------- */
|
||||
#pedigree a {
|
||||
text-decoration:none;
|
||||
}
|
||||
.content #pedigree a:link:after, .content #pedigree a:visited:after {
|
||||
content:"";
|
||||
}
|
||||
.pedigreegen {
|
||||
font:normal 10pt/12pt sans-serif;
|
||||
list-style:none;
|
||||
margin:8pt 0 0 0;
|
||||
padding:0 0 0 20px;
|
||||
}
|
||||
.pedigreegen li ol {
|
||||
list-style:none;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.pedigreegen li ol li ol {
|
||||
font:normal 9pt/11pt sans-serif;
|
||||
list-style:decimal;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.pedigreegen li ol li ol li ol.spouselist {
|
||||
list-style:none;
|
||||
margin-left:0;
|
||||
}
|
||||
.spouselist li.spouse ol {
|
||||
list-style:decimal;
|
||||
margin-left:16pt;
|
||||
}
|
||||
.spouse a {
|
||||
font-weight:normal;
|
||||
font-style:normal;
|
||||
}
|
||||
.spouse:before {
|
||||
content: "+ ";
|
||||
}
|
||||
.thisperson {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* Subsections : Ancestors Tree
|
||||
----------------------------------------------------- */
|
||||
#tree {
|
||||
page-break-before:always;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#treeContainer {
|
||||
position:relative;
|
||||
z-index:1;
|
||||
}
|
||||
#treeContainer div.boxbg a:link:after, #treeContainer div.boxbg a:visited:after {
|
||||
font-size:70%;
|
||||
font-family:sans-serif;
|
||||
content:"";
|
||||
}
|
||||
.boxbg {
|
||||
position:absolute;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background:none;
|
||||
}
|
||||
#treeContainer div.boxbg span.thumbnail {
|
||||
display:block;
|
||||
margin:0 auto;
|
||||
}
|
||||
.boxbg a {
|
||||
position:relative;
|
||||
z-index:10;
|
||||
display:block;
|
||||
font:normal .7em/1.4em sans-serif;
|
||||
text-align:center;
|
||||
text-decoration:none;
|
||||
width:50pt;
|
||||
padding:5pt 8pt;
|
||||
margin:5pt 0 0 0;
|
||||
background-color:#FFF;
|
||||
border:solid 1pt #000;
|
||||
}
|
||||
#treeContainer div.AncCol3 span.thumbnail, #treeContainer div.AncCol4 span.thumbnail {
|
||||
display:none;
|
||||
}
|
||||
.shadow {
|
||||
display:none;
|
||||
}
|
||||
#tree div div.bvline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
height:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
border-bottom:solid .5pt #A7A7A7
|
||||
}
|
||||
#tree div div.bhline {
|
||||
position:absolute;
|
||||
z-index:2;
|
||||
width:1pt;
|
||||
margin:0;
|
||||
padding:0;
|
||||
background-color:#FFF;
|
||||
border-right:solid .5pt #A7A7A7
|
||||
}
|
||||
.ghline, .gvline {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* Footer
|
||||
----------------------------------------------------- */
|
||||
#footer {
|
||||
width:100%;
|
||||
margin:0;
|
||||
padding:.1in 0 0 0;
|
||||
clear:both;
|
||||
border-top:solid .5pt #000;
|
||||
}
|
||||
#user_footer {
|
||||
float:left;
|
||||
width:70%;
|
||||
}
|
||||
#user_footer p {
|
||||
font-style:italic;
|
||||
}
|
||||
p#createdate {
|
||||
float: left;
|
||||
width: 3.9in;
|
||||
font: normal 9pt/10pt sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
#copyright {
|
||||
float: right;
|
||||
width: 4in;
|
||||
margin: 0;
|
||||
font: normal 9pt/10pt sans-serif;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Calendar Styles
|
||||
-------------------------------------------------------------------------------------------- */
|
||||
/* Calendar : General */
|
||||
body#WebCal h1#SiteTitle {
|
||||
float:left;
|
||||
font-size:14pt;
|
||||
line-height:16pt;
|
||||
padding-bottom:.1in;
|
||||
}
|
||||
.calendar {
|
||||
clear:both;
|
||||
empty-cells:show;
|
||||
width:100%;
|
||||
font-size:14pt;
|
||||
font-weight:normal;
|
||||
margin:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
border-collapse:collapse;
|
||||
}
|
||||
.calendar thead, .calendar tbody {
|
||||
border-style:solid;
|
||||
border-width:2pt 2pt 2pt 2pt;
|
||||
border-color:#000;
|
||||
}
|
||||
.calendar tbody {
|
||||
border-top:none;
|
||||
}
|
||||
.calendar thead tr th {
|
||||
width:12%;
|
||||
font-family:sans-serif;
|
||||
font-size:10pt;
|
||||
font-weight:bold;
|
||||
text-align:center;
|
||||
text-transform:uppercase;
|
||||
padding:.2em 0 .1em 0;
|
||||
}
|
||||
.calendar thead tr th.monthName {
|
||||
width:100%;
|
||||
font-size:20pt;
|
||||
line-height:100%;
|
||||
text-transform:none;
|
||||
padding:5pt;
|
||||
border-width:0;
|
||||
}
|
||||
#CreatorInfo {
|
||||
float:right;
|
||||
margin:0 10px 0 0;
|
||||
}
|
||||
body#WebCal a {
|
||||
text-decoration:none;
|
||||
color:#000;
|
||||
}
|
||||
.calendar tfoot {
|
||||
border:none;
|
||||
}
|
||||
.calendar tfoot tr td {
|
||||
font-size:12pt;
|
||||
font-style:italic;
|
||||
padding:.7em 5% 1em 5%;
|
||||
}
|
||||
|
||||
/* Calendar : Date Numeral */
|
||||
.calendar td div.date {
|
||||
float:right;
|
||||
display:block;
|
||||
font-size:16pt;
|
||||
line-height:100%;
|
||||
font-weight:bold;
|
||||
text-align:center;
|
||||
color:#000;
|
||||
margin:0 0 0 .5em;
|
||||
padding:7pt;
|
||||
}
|
||||
.calendar td.highlight div.date {
|
||||
color:#F00;
|
||||
}
|
||||
|
||||
/* Calendar : Date Container */
|
||||
.calendar tbody tr td {
|
||||
vertical-align:top;
|
||||
height:4em;
|
||||
padding:0;
|
||||
border-width:1px 0 0 1px;
|
||||
border-style:solid;
|
||||
border-color:#999;
|
||||
}
|
||||
.calendar tbody tr td:first-child {
|
||||
border-left:none;
|
||||
}
|
||||
.calendar tbody tr:first-child td {
|
||||
border-top:none;
|
||||
}
|
||||
|
||||
/* Calendar : Date Detail */
|
||||
.calendar tbody tr td ul {
|
||||
list-style:none;
|
||||
font-family:sans-serif;
|
||||
font-size:8pt;
|
||||
margin:30pt 0 5pt 0;
|
||||
padding:0;
|
||||
}
|
||||
.calendar tbody tr td ul li {
|
||||
display:block;
|
||||
width:92%;
|
||||
margin:0 4%;
|
||||
padding:.2em 0 .3em 0;
|
||||
border-top:dashed .5pt #999;
|
||||
}
|
||||
.calendar tbody tr td ul li:first-child {
|
||||
border:none;
|
||||
}
|
||||
.calendar tbody tr td ul li em {
|
||||
font-style:normal;
|
||||
color:#000;
|
||||
}
|
||||
.calendar tbody tr td ul li span.yearsmarried em {
|
||||
color:#000;
|
||||
}
|
||||
|
||||
/* Calendar : Previous-Next Month */
|
||||
.calendar tbody tr td.previous,
|
||||
.calendar tbody tr td.next,
|
||||
.calendar tbody tr td.previous div.date,
|
||||
.calendar tbody tr td.next div.date {
|
||||
font-weight:normal;
|
||||
font-size:12pt;
|
||||
color:#999;
|
||||
}
|
||||
/* Calendar : Full Year */
|
||||
body#fullyearlinked div.content {
|
||||
width:963px;
|
||||
margin:0 auto;
|
||||
padding:15px 0 2px 2px;
|
||||
}
|
||||
body#fullyearlinked table.calendar {
|
||||
float:left;
|
||||
width:320px;
|
||||
height:18em;
|
||||
border:solid 1px #000;
|
||||
}
|
||||
body#fullyearlinked table.calendar thead tr th {
|
||||
height:2em;
|
||||
}
|
||||
body#fullyearlinked table.calendar thead tr th.monthName {
|
||||
font-size:1.2em;
|
||||
padding:2px 0;
|
||||
}
|
||||
body#fullyearlinked table.calendar tbody tr td {
|
||||
height:3em;
|
||||
}
|
||||
1645
src/plugins/webstuff/css/Web_Visually.css
Normal file
87
src/plugins/webstuff/css/behaviour.css
Normal file
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright 2009 Stephane Charette and Jason Simanek
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
**************************************************************************************************
|
||||
GRAMPS cascading style sheet for common behaviour independant of styles
|
||||
Style Name: n/a (used by many different styles)
|
||||
Style Author: Stephane Charette and Jason Simanek
|
||||
**************************************************************************************************
|
||||
|
||||
-------------
|
||||
Image Gallery
|
||||
-------------
|
||||
|
||||
# $Id: behaviour.css 13749 2009-12-10 06:50:21Z robhealey1 $
|
||||
|
||||
ensure RegionBox <ol> is hidden and has no margins/padding that would shift the image */
|
||||
ol.RegionBox {
|
||||
display:none;
|
||||
list-style:none;
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
/* show the RegionBox <ol> When the mouse hovers over the gallery */
|
||||
div#GalleryDisplay:hover ol.RegionBox {
|
||||
display:block;
|
||||
}
|
||||
|
||||
/* define how <li> tags should normally look within RegionBox */
|
||||
ol.RegionBox li {
|
||||
margin:0;
|
||||
padding:0;
|
||||
display:block;
|
||||
position:absolute;
|
||||
text-align:center;
|
||||
text-decoration:none;
|
||||
border:dashed 1px #999;
|
||||
background:url(../images/blank.gif) repeat;
|
||||
/* IE doesn't work correctly with "hover" if the <li> tag is empty,
|
||||
* so fill the <li> with a blank image; this way the mouse will be
|
||||
* considered in the <li> tag anywhere over the background image
|
||||
*/
|
||||
}
|
||||
|
||||
/* use a solid border when the mouse hovers over the <li> tags */
|
||||
ol.RegionBox li:hover {
|
||||
z-index:100;
|
||||
border:solid 1px #FFF;
|
||||
}
|
||||
|
||||
/* links are kept hidden... */
|
||||
ol.RegionBox li a {
|
||||
display:none;
|
||||
}
|
||||
|
||||
/* ...until we hover over them */
|
||||
ol.RegionBox li:hover a {
|
||||
display:block;
|
||||
text-decoration:none;
|
||||
border-bottom:solid 1px #FFF;
|
||||
background-color:#888;
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
/* underline is hidden until we hover over the links */
|
||||
ol.RegionBox li:hover a:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
BIN
src/plugins/webstuff/images/Web_Gender_Female.png
Normal file
|
After Width: | Height: | Size: 457 B |
BIN
src/plugins/webstuff/images/Web_Gender_Male.png
Normal file
|
After Width: | Height: | Size: 454 B |
BIN
src/plugins/webstuff/images/Web_Mainz_Bkgd.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
src/plugins/webstuff/images/Web_Mainz_Header.png
Normal file
|
After Width: | Height: | Size: 334 KiB |
BIN
src/plugins/webstuff/images/Web_Mainz_Mid.png
Normal file
|
After Width: | Height: | Size: 111 KiB |
BIN
src/plugins/webstuff/images/Web_Mainz_MidLight.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
src/plugins/webstuff/images/blank.gif
Normal file
|
After Width: | Height: | Size: 43 B |
BIN
src/plugins/webstuff/images/document.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
src/plugins/webstuff/images/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/plugins/webstuff/images/favicon2.ico
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
39
src/plugins/webstuff/webstuff.gpr.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# encoding:utf-8
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2010 Doug Blank <doug.blank@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
# $Id $
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# Stylesheets
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
register(GENERAL,
|
||||
id = 'system webstuff',
|
||||
category = "WEBSTUFF",
|
||||
name = _("Webstuff"),
|
||||
description = _("Provides a collection of resources for the web"),
|
||||
version = '1.0',
|
||||
gramps_target_version = '3.3',
|
||||
fname = "webstuff.py",
|
||||
load_on_reg = True,
|
||||
process = "process_list",
|
||||
)
|
||||
118
src/plugins/webstuff/webstuff.py
Normal file
@@ -0,0 +1,118 @@
|
||||
#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2010 Douglas Blank <doug.blank@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
# $Id: $
|
||||
|
||||
import os
|
||||
import const
|
||||
from gen.ggettext import sgettext as _
|
||||
|
||||
def make_css_dict(tup):
|
||||
"""
|
||||
Basically, make a named tuple.
|
||||
"""
|
||||
return {
|
||||
"id": tup[0],
|
||||
"user": tup[1],
|
||||
"translation": tup[2],
|
||||
"filename": tup[3],
|
||||
"navigation": tup[4],
|
||||
"images": tup[5],
|
||||
}
|
||||
|
||||
def load_on_reg(dbstate, uistate, plugin):
|
||||
"""
|
||||
Runs when plugin is registered.
|
||||
"""
|
||||
dir, fname = os.path.split(__file__)
|
||||
CSS_FILES = [
|
||||
# id, user selectable?, translated_name, fullpath, navigation target name, additional files
|
||||
# "default" is used as default
|
||||
["Basic-Ash", 1, _("Basic-Ash"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Ash.css'), None, []],
|
||||
["Basic-Blue", 1, _("Basic-Blue"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Blue.css'), "Web_Navigation-Menus.css", []],
|
||||
["Basic-Cypress", 1, _("Basic-Cypress"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Cypress.css'), None, []],
|
||||
["Basic-Lilac", 1, _("Basic-Lilac"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Lilac.css'), None, []],
|
||||
["Basic-Peach", 1, _("Basic-Peach"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Peach.css'), None, []],
|
||||
["Basic-Spruce", 1, _("Basic-Spruce"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Spruce.css'), None, []],
|
||||
["Mainz", 1, _("Mainz"),
|
||||
os.path.join(dir, "css", 'Web_Mainz.css'), None,
|
||||
[os.path.join(dir, "images", "Web_Mainz_Bkgd.png"),
|
||||
os.path.join(dir, "images", "Web_Mainz_Header.png"),
|
||||
os.path.join(dir, "images", "Web_Mainz_Mid.png"),
|
||||
os.path.join(dir, "images", "Web_Mainz_MidLight.png")]],
|
||||
["Nebraska", 1, _("Nebraska"),
|
||||
os.path.join(dir, "css", 'Web_Nebraska.css'), None, []],
|
||||
["Visually Impaired", 1, _("Visually Impaired"),
|
||||
os.path.join(dir, "css", 'Web_Visually.css'), "Web_Navigation-Menus.css", []],
|
||||
["No style sheet",1, _("No style sheet"), '', None, []],
|
||||
["behaviour", 0, "Behaviour",
|
||||
os.path.join(dir, "css", 'behaviour.css'), None, []],
|
||||
["default", 0, _("Basic-Ash"),
|
||||
os.path.join(dir, "css", 'Web_Basic-Ash.css'), None, []],
|
||||
["Print-Default", 0, "Print-Default",
|
||||
os.path.join(dir, "css", 'Web_Print-Default.css'), None, []],
|
||||
["Navigation-Vertical", 0, "Navigation-Vertical",
|
||||
os.path.join(dir, "css", 'Web_Navigation-Vertical.css'), None, []],
|
||||
["Navigation-Horizontal", 0, "Navigation-Horizontal",
|
||||
os.path.join(dir, "css", 'Web_Navigation-Horizontal.css'), None, []],
|
||||
['Gender Images', 0, 'Gender Images', None, None,
|
||||
[os.path.join(dir, "images", "Web_Gender_Female.png"),
|
||||
os.path.join(dir, "images", "Web_Gender_Male.png"),
|
||||
]],
|
||||
['All Images', 0, 'All Images', None, None,
|
||||
[os.path.join(dir, "images", "favicon2.ico"),
|
||||
os.path.join(dir, "images", "blank.gif"),
|
||||
os.path.join(dir, "images", "document.png")]],
|
||||
['Copyright', 0, 'Copyright', os.path.join(dir, "images", "somerights20.gif"), None, []],
|
||||
['Document', 0, 'Document', os.path.join(dir, "images", "document.png"), None, []],
|
||||
]
|
||||
return CSS_FILES
|
||||
|
||||
def process_list(data):
|
||||
"""
|
||||
Gather all of the web resources together, and allow override files
|
||||
if available.
|
||||
"""
|
||||
retval = []
|
||||
for row in data:
|
||||
file = row[3]
|
||||
if file:
|
||||
path, filename = os.path.split(file)
|
||||
# is there a override file in the VERSION_DIR/webstuff?
|
||||
# eg, ~/.gramps/gramps33/webstuff/Web_Nebraska.css
|
||||
# if so, replace this one:
|
||||
override = os.path.join(const.VERSION_DIR, "webstuff", filename)
|
||||
if os.path.exists(override):
|
||||
row[3] = override
|
||||
retval.append(row)
|
||||
# {"Mainz": {"id": "Mainz", "user":1, ...}}
|
||||
retdict = {}
|
||||
for css in retval:
|
||||
if css[0] in retdict:
|
||||
retdict[css[0]]["images"].append(css[5])
|
||||
else:
|
||||
retdict[css[0]] = make_css_dict(css)
|
||||
return retdict
|
||||