Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/recipe-books.git
example-book.xml
+<?xml version="1.0" standalone="yes"?>
+<recipe-book>
+ <book>
+ <title>Tasty Tongue Twizzlers</title>
+ <author/>
+ <isbn/>
+ <created format="YYYY-MM-DD">2013-02-02</created>
+ <photo use="front-cover">
+ <url>http://i.imgur.com/p71y6mq.jpg</url>
+ </photo>
+ </book>
+ <recipe>
+ <description>
+ <title>Thai-Style Roast Duck</title>
+ <photo use="recipe-inset">
+ <url>http://www.templeofthai.com/images/recipes/duck-curry-1000x665-Pangfolio-shutterstock.jpg</url>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware>
+ <object id="1">wok</object>
+ </cookware>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1" min-quantity="1" condition="" optional="false">duck</ingredient>
+ <ingredient id="2" min-quantity="900" max-quantity="900" unit="millilitre" condition="" optional="false">coconut milk</ingredient>
+ <ingredient id="3" min-quantity="4" unit="tablespoon" condition="" optional="false">curry paste</ingredient>
+ <ingredient id="4" min-quantity="5" unit="tablespoon" condition="" optional="false">fish sauce</ingredient>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="boil" min-time="1" seq="1">some water in a wok</step>
+ <step action="blanch" min-time="1" seq="2">duck for 10 minutes to remove odour</step>
+ <step action="remove" min-time="1" seq="3">and rinse well</step>
+ <step action="boil" min-time="1" seq="4">coconut milk and green curry paste in a clean wok</step>
+ <step action="lower" min-time="1" seq="5">heat and simmer contents for 10 minutes before adding in fish sauce and duck pieces</step>
+ <step action="simmer" min-time="1" seq="6">duck for 45 minutes to an hour</step>
+ <step action="simmer" min-time="1" seq="7">process</step>
+ <step action="chill" min-time="1" seq="8">separately overnight</step>
+ <step action="thaw" min-time="1" seq="9">duck pieces and grill till golden</step>
+ <step action="serve" min-time="1" seq="10">with warmed stock</step>
+ </directions>
+ <tags>
+ <tag category="cuisine" sequence="10">thai</tag>
+ <tag category="ingredient" sequence="2">duck</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Orange Juice Chicken</title>
+ <photo use="recipe-inset">
+ <url>http://3.bp.blogspot.com/-CBO-ehbIwbc/T5oslwe_gFI/AAAAAAAACTw/LoC-NP1e5fw/s1600/orange+chicken+and+peach+cobbler+120.JPG</url>
+ </photo>
+ </description>
+ <preparation>
+ <oven unit="F" temperature="375"/>
+ </preparation>
+ <equipment>
+ <bakeware/>
+ <cookware>
+ <object id="1">saucepan</object>
+ </cookware>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1" min-quantity="4" condition="" optional="false">boneless chicken breast</ingredient>
+ <ingredient id="2" min-quantity="1" condition="" optional="false">half-and-half</ingredient>
+ <ingredient id="3" min-quantity="2" unit="tablespoon" condition="prepare" optional="false">dijon mustard</ingredient>
+ <ingredient id="4" min-quantity="1" condition="" optional="false">mustard</ingredient>
+ <ingredient id="5" min-quantity="0.5" unit="cup" condition="chop" optional="false">onion</ingredient>
+ <ingredient id="6" min-quantity="0.5" unit="cup" condition="pack,divide" optional="false">brown sugar</ingredient>
+ <ingredient id="7" min-quantity="2" unit="cup" condition="" optional="false">orange juice</ingredient>
+ <ingredient id="8" min-quantity="2" unit="tablespoon" condition="" optional="false">butter</ingredient>
+ <ingredient id="9" min-quantity="2" unit="tablespoon" condition="" optional="false">all-purpose flour</ingredient>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="place" min-time="1" seq="1">chicken in a 9 x13 inch baking dish</step>
+ <step action="spread" min-time="1" seq="2">mustard evenly over the chicken and sprinkle with chopped onion</step>
+ <step action="coat" min-time="1" seq="3">lightly with 1/4 cup of the brown sugar and pour in enough orange juice to cover chicken</step>
+ <step action="add" min-time="1" seq="4">butter on top</step>
+ <step action="sprinkle" min-time="1" seq="5">chicken with remaining 1/4 cup brown sugar and return to oven</step>
+ <step action="whisk" min-time="1" seq="6">flour into sauce in saucepan</step>
+ <step action="add" min-time="1" seq="7">any leftover orange juice and heat on high until the sauce thickens</step>
+ <step action="remove" min-time="1" seq="8">chicken from oven and place on a serving dish; pour sauce over the chicken or into a gravy boat, and</step>
+ </directions>
+ <tags>
+ <tag category="ingredient" sequence="2">chicken</tag>
+ <tag category="type" sequence="6">fruit</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Pizza Dough</title>
+ <photo use="recipe-inset">
+ <url>http://warmvanillasugar.files.wordpress.com/2010/10/pizza_dough_main.jpg</url>
+ </photo>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware>
+ <object id="2">bowl</object>
+ </bakeware>
+ <cookware/>
+ <kitchenware/>
+ <electric>
+ <object id="1">mixer</object>
+ </electric>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1" min-quantity="6.5" unit="cup" condition="" optional="false">bread flour</ingredient>
+ <ingredient id="2" min-quantity="2" unit="teaspoon" condition="" optional="false">yeast</ingredient>
+ <ingredient id="3" min-quantity="3.25" unit="cup" condition="" optional="false">cold water</ingredient>
+ <ingredient id="4" min-quantity="6" unit="tablespoon" condition="" optional="false">olive oil</ingredient>
+ <ingredient id="5" min-quantity="2" max-quantity="3" unit="teaspoon" condition="salt" optional="false">sugar</ingredient>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="mix" min-time="1" seq="1">yeast, sugar and salt together with a cup of water</step>
+ <step action="put" min-time="1" seq="2">5 cups of flour in mixer</step>
+ <step action="add" min-time="1" seq="3">yeast mixture, olive oil and water</step>
+ <step action="start" min-time="1" seq="4">mixing</step>
+ <step action="add" min-time="1" seq="5">remaining flour until you get a moist ball of dough</step>
+ <step action="do" min-time="1" seq="6">not put to much flour in because the dough will get too dry</step>
+ <step action="knead" min-time="1" seq="7">dough for around 10 minutes</step>
+ <step action="leave" min-time="1" seq="8">it in the mixer and let the dough hook do the trick</step>
+ <step action="cut" min-time="1" seq="9">the dough ball into 8 individual balls</step>
+ <step action="coat" min-time="1" seq="10">each ball with more olive oil, put them in a bowl and let them rise over night in the fridge</step>
+ <step action="take" min-time="1" seq="11">them out of the fridge an hour prior to cooking</step>
+ <step action="take" min-time="1" seq="12">3 or 4 minutes to cook depending on toppings</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">pizza</tag>
+ </tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Empty Recipe</title>
+ </description>
+ <preparation/>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware/>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients"/>
+ <directions/>
+ <directions label="instructions"/>
+ <tags></tags>
+ </recipe>
+ <recipe>
+ <description>
+ <title>Breaded Chicken</title>
+ </description>
+ <preparation>
+ <oven unit="F" temperature="375"/>
+ </preparation>
+ <equipment>
+ <bakeware/>
+ <cookware/>
+ <kitchenware>
+ <object id="1">plate</object>
+ </kitchenware>
+ <electric/>
+ <miscellaneous/>
+ <utensils/>
+ </equipment>
+ <ingredients id="1" label="ingredients">
+ <ingredient id="1" min-quantity="1" unit="teaspoon" condition="breaded" optional="false">chicken</ingredient>
+ <ingredient id="2" min-quantity="2" condition="" optional="false">chicken breast</ingredient>
+ <ingredient id="3" min-quantity="2" condition="" optional="false">egg</ingredient>
+ <ingredient id="4" min-quantity="1" unit="cup" condition="season" optional="false">bread crumb</ingredient>
+ <ingredient id="5" min-quantity="1" unit="tablespoon" condition="" optional="false">canola oil</ingredient>
+ </ingredients>
+ <directions/>
+ <directions label="instructions">
+ <step action="broil" min-time="1" seq="1">the minuscule chicken</step>
+ <step action="grease" min-time="1" seq="2">a flat baking sheet with canola oil</step>
+ <step action="set" min-time="1" seq="3">out three shallow pie dishes or deep plates: one with flour, one with beaten egg, one with seasoned</step>
+ <step action="thin" min-time="1" seq="4">by either slicing them in half or pounding them flatter</step>
+ <step action="dip" min-time="1" seq="5">the chicken first into flour, shaking off any excess</step>
+ <step action="dip" min-time="1" seq="6">it into the egg, shaking off any excess</step>
+ <step action="dip" min-time="1" seq="7">it into the seasoned bread crumbs</step>
+ <step action="lay" min-time="1" seq="8">the breaded chicken on the greased baking sheet</step>
+ <step action="sprinkle" min-time="1" seq="9">some drops of canola oil over each chicken piece</step>
+ <step action="bake" min-time="1" seq="10">for 6 to 8 minutes on each side, or until the chicken is white in the middle</step>
+ <step action="bake" min-time="1" seq="11">time depends on the thickness of the chicken</step>
+ </directions>
+ <tags>
+ <tag category="type" sequence="6">bread</tag>
+ <tag category="ingredient" sequence="2">chicken</tag>
+ <tag category="type" sequence="6">soup</tag>
+ </tags>
+ </recipe>
+</recipe-book>
+
sql/recipe-book.sql
id integer NOT NULL,
label character varying(128) NOT NULL,
- spine_label character varying(128) NOT NULL,
- dedication text,
- isbn character varying(13),
- created timestamp with time zone DEFAULT now() NOT NULL,
- deleted timestamp with time zone,
- updated timestamp with time zone
-);
-
-
-ALTER TABLE recipe_book.book OWNER TO recipe;
-
---
--- Name: TABLE book; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book IS 'Defines the common items to every book.';
-
-
---
--- Name: COLUMN book.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.label IS 'Book title.';
-
-
---
--- Name: COLUMN book.spine_label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.spine_label IS 'Book spine label.';
-
-
---
--- Name: COLUMN book.dedication; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.dedication IS 'Text for the dedication.';
-
-
---
--- Name: COLUMN book.isbn; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.isbn IS 'International standard book number and EAN, can be null.';
-
-
---
--- Name: COLUMN book.created; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.created IS 'Date the book was created.';
-
-
---
--- Name: COLUMN book.deleted; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.deleted IS 'Date the book was (or is to be?) deleted.';
-
-
---
--- Name: COLUMN book.updated; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book.updated IS 'Date the book was last updated.';
-
-
---
--- Name: book_account; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_account (
- id integer NOT NULL,
- book_id integer NOT NULL,
- account_id integer NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_account OWNER TO recipe;
-
---
--- Name: TABLE book_account; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_account IS 'Associates a book with an account.';
-
-
---
--- Name: COLUMN book_account.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_account.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_account.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_account.book_id IS 'The book associated with an account.';
-
-
---
--- Name: COLUMN book_account.account_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_account.account_id IS 'The account associated with a book.';
-
-
---
--- Name: book_account_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_account_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_account_id_seq OWNER TO recipe;
-
---
--- Name: book_account_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_account_id_seq OWNED BY book_account.id;
-
-
---
--- Name: book_account_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_account_id_seq', 1, false);
-
-
---
--- Name: book_aspect_name; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_aspect_name (
- id integer NOT NULL,
- code character varying(32) NOT NULL,
- label character varying(32) NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_aspect_name OWNER TO recipe;
-
---
--- Name: TABLE book_aspect_name; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_aspect_name IS 'Lists the names of book aspects. The aspects are a collection of snippets and many aspects are grouped together to form a theme. For example, COLOUR_SCHEME is an aspect of a theme. Think of this as the snippet category.';
-
-
---
--- Name: COLUMN book_aspect_name.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_aspect_name.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_aspect_name.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_aspect_name.code IS 'Uniquely identifies the code in a language-neutral way.';
-
-
---
--- Name: COLUMN book_aspect_name.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_aspect_name.label IS 'Human-readable name for the aspect. Can be internationalized.';
-
-
---
--- Name: book_aspect_name_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_aspect_name_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_aspect_name_id_seq OWNER TO recipe;
-
---
--- Name: book_aspect_name_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_aspect_name_id_seq OWNED BY book_aspect_name.id;
-
-
---
--- Name: book_aspect_name_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_aspect_name_id_seq', 2, true);
-
-
---
--- Name: book_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_id_seq OWNER TO recipe;
-
---
--- Name: book_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_id_seq OWNED BY book.id;
-
-
---
--- Name: book_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_id_seq', 1, false);
-
-
---
--- Name: book_latex; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_latex (
- id integer NOT NULL,
- snippet_code character varying(32) NOT NULL,
- latex text NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_latex OWNER TO recipe;
-
---
--- Name: TABLE book_latex; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_latex IS 'Associates LaTeX code with a book preference.';
-
-
---
--- Name: COLUMN book_latex.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_latex.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_latex.latex; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_latex.latex IS 'Source code associated with a configurable preference.';
-
-
---
--- Name: book_latex_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_latex_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_latex_id_seq OWNER TO recipe;
-
---
--- Name: book_latex_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_latex_id_seq OWNED BY book_latex.id;
-
-
---
--- Name: book_latex_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_latex_id_seq', 3, true);
-
-
---
--- Name: book_photograph; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_photograph (
- id integer NOT NULL,
- book_id integer NOT NULL,
- image_url character varying(2048) NOT NULL,
- book_photograph_category_id integer NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_photograph OWNER TO recipe;
-
---
--- Name: TABLE book_photograph; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_photograph IS 'Describes attributes about a photograph that can be used in the book.';
-
-
---
--- Name: COLUMN book_photograph.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_photograph.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph.book_id IS 'The book to which this photograph belongs.';
-
-
---
--- Name: COLUMN book_photograph.image_url; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph.image_url IS 'The website address where the image can be retrieved.';
-
-
---
--- Name: COLUMN book_photograph.book_photograph_category_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph.book_photograph_category_id IS 'The type of photograph (e.g., cover page, meal inset, divider page, category section page).';
-
-
---
--- Name: book_photograph_category; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_photograph_category (
- id integer NOT NULL,
- label character varying NOT NULL,
- description character varying(128) NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_photograph_category OWNER TO recipe;
-
---
--- Name: TABLE book_photograph_category; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_photograph_category IS 'Contains a list of categories for book photographs.';
-
-
---
--- Name: COLUMN book_photograph_category.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph_category.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_photograph_category.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph_category.label IS 'Text to display to the user.';
-
-
---
--- Name: COLUMN book_photograph_category.description; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_photograph_category.description IS 'Brief description regarding how the category is used.';
-
-
---
--- Name: book_photograph_category_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_photograph_category_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_photograph_category_id_seq OWNER TO recipe;
-
---
--- Name: book_photograph_category_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_photograph_category_id_seq OWNED BY book_photograph_category.id;
-
-
---
--- Name: book_photograph_category_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_photograph_category_id_seq', 1, false);
-
-
---
--- Name: book_photograph_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_photograph_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_photograph_id_seq OWNER TO recipe;
-
---
--- Name: book_photograph_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_photograph_id_seq OWNED BY book_photograph.id;
-
-
---
--- Name: book_photograph_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_photograph_id_seq', 1, false);
-
-
---
--- Name: book_recipe; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_recipe (
- id integer NOT NULL,
- book_id integer NOT NULL,
- recipe_id integer NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_recipe OWNER TO recipe;
-
---
--- Name: TABLE book_recipe; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_recipe IS 'Associates a book with a recipe.';
-
-
---
--- Name: COLUMN book_recipe.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_recipe.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_recipe.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_recipe.book_id IS 'Reference to the book table.';
-
-
---
--- Name: COLUMN book_recipe.recipe_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_recipe.recipe_id IS 'Reference to the recipe table.';
-
-
---
--- Name: book_recipe_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_recipe_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_recipe_id_seq OWNER TO recipe;
-
---
--- Name: book_recipe_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_recipe_id_seq OWNED BY book_recipe.id;
-
-
---
--- Name: book_recipe_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_recipe_id_seq', 1, false);
-
-
---
--- Name: book_recipe_recipe_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_recipe_recipe_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_recipe_recipe_id_seq OWNER TO recipe;
-
---
--- Name: book_recipe_recipe_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_recipe_recipe_id_seq OWNED BY book_recipe.recipe_id;
-
-
---
--- Name: book_recipe_recipe_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_recipe_recipe_id_seq', 1, false);
-
-
---
--- Name: book_snippet; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_snippet (
- id integer NOT NULL,
- code character varying(32) NOT NULL,
- label character varying(32) NOT NULL,
- aspect_code character varying(32) DEFAULT 'COLOUR_SCHEME'::character varying NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_snippet OWNER TO recipe;
-
---
--- Name: TABLE book_snippet; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_snippet IS 'Lists the names of book snippets. The snippets are associated with specific aspects.';
-
-
---
--- Name: COLUMN book_snippet.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_snippet.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_snippet.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_snippet.code IS 'Uniquely identifies the code in a language-neutral way.';
-
-
---
--- Name: COLUMN book_snippet.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_snippet.label IS 'Human-readable name for the snippet. Can be internationalized.';
-
-
---
--- Name: COLUMN book_snippet.aspect_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_snippet.aspect_code IS 'Associates the book snippet with a book aspect.';
-
-
---
--- Name: book_snippet_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_snippet_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_snippet_id_seq OWNER TO recipe;
-
---
--- Name: book_snippet_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_snippet_id_seq OWNED BY book_snippet.id;
-
-
---
--- Name: book_snippet_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_snippet_id_seq', 3, true);
-
-
---
--- Name: book_theme; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_theme (
- id integer NOT NULL,
- theme_code character varying(32) NOT NULL,
- aspect_code character varying(32) NOT NULL,
- snippet_code character varying(32) NOT NULL,
- seq integer DEFAULT 0 NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_theme OWNER TO recipe;
-
---
--- Name: TABLE book_theme; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_theme IS 'A book theme is comprised of a number of aspects. The aspects per theme must be unique. That is, a book theme cannot have two COLOUR_SCHEME aspects.';
-
-
---
--- Name: COLUMN book_theme.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_theme.theme_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme.theme_code IS 'Reference to the theme''s name.';
-
-
---
--- Name: COLUMN book_theme.aspect_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme.aspect_code IS 'Reference to the aspect. Each aspect can only appear once in a theme.';
-
-
---
--- Name: COLUMN book_theme.snippet_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme.snippet_code IS 'Indirect reference to the aspect code, via a snippet.';
-
-
---
--- Name: COLUMN book_theme.seq; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme.seq IS 'Queries for a book theme should fetch the results in the order denoted by this column.';
-
-
---
--- Name: book_theme_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_theme_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_theme_id_seq OWNER TO recipe;
-
---
--- Name: book_theme_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_theme_id_seq OWNED BY book_theme.id;
-
-
---
--- Name: book_theme_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_theme_id_seq', 1, false);
-
-
---
--- Name: book_theme_name; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
---
-
-CREATE TABLE book_theme_name (
- id integer NOT NULL,
- code character varying(32) NOT NULL,
- label character varying NOT NULL
-);
-
-
-ALTER TABLE recipe_book.book_theme_name OWNER TO recipe;
-
---
--- Name: TABLE book_theme_name; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON TABLE book_theme_name IS 'Lists all the book theme names (e.g., maps MODERN_SQUARE to "Modern Square").';
-
-
---
--- Name: COLUMN book_theme_name.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme_name.id IS 'Primary key.';
-
-
---
--- Name: COLUMN book_theme_name.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme_name.code IS 'Uniquely identifies the theme.';
-
-
---
--- Name: COLUMN book_theme_name.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
---
-
-COMMENT ON COLUMN book_theme_name.label IS 'Textual description of the book.';
-
-
---
--- Name: book_theme_name_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
---
-
-CREATE SEQUENCE book_theme_name_id_seq
- START WITH 1
- INCREMENT BY 1
- NO MINVALUE
- NO MAXVALUE
- CACHE 1;
-
-
-ALTER TABLE recipe_book.book_theme_name_id_seq OWNER TO recipe;
-
---
--- Name: book_theme_name_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
---
-
-ALTER SEQUENCE book_theme_name_id_seq OWNED BY book_theme_name.id;
-
-
---
--- Name: book_theme_name_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
---
-
-SELECT pg_catalog.setval('book_theme_name_id_seq', 2, true);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book ALTER COLUMN id SET DEFAULT nextval('book_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_account ALTER COLUMN id SET DEFAULT nextval('book_account_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_aspect_name ALTER COLUMN id SET DEFAULT nextval('book_aspect_name_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_latex ALTER COLUMN id SET DEFAULT nextval('book_latex_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_photograph ALTER COLUMN id SET DEFAULT nextval('book_photograph_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_photograph_category ALTER COLUMN id SET DEFAULT nextval('book_photograph_category_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_recipe ALTER COLUMN id SET DEFAULT nextval('book_recipe_id_seq'::regclass);
-
-
---
--- Name: recipe_id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_recipe ALTER COLUMN recipe_id SET DEFAULT nextval('book_recipe_recipe_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_snippet ALTER COLUMN id SET DEFAULT nextval('book_snippet_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_theme ALTER COLUMN id SET DEFAULT nextval('book_theme_id_seq'::regclass);
-
-
---
--- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
---
-
-ALTER TABLE book_theme_name ALTER COLUMN id SET DEFAULT nextval('book_theme_name_id_seq'::regclass);
-
-
---
--- Data for Name: book; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_account; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_aspect_name; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-INSERT INTO book_aspect_name VALUES (1, 'COLOUR_SCHEME', 'Colour Scheme');
-INSERT INTO book_aspect_name VALUES (2, 'INSET_PHOTO', 'Inset photographs');
-
-
---
--- Data for Name: book_latex; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-INSERT INTO book_latex VALUES (1, 'CIURLIONIS', '% http://www.colourlovers.com/palette/2634294/APC393_%C4%8Ciurlionis
-\definecolor[named]{skin}{HTML}{F2B166}
-\definecolor[named]{nectar}{HTML}{EDE2C2}
-\definecolor[named]{ifiwerestronger}{HTML}{D2B490}
-\definecolor[named]{p}{HTML}{AB8369}
-\definecolor[named]{suspect}{HTML}{755348}
-
-\renewcommand{\primarycolor}{p}
-\renewcommand{\secondarycolor}{ifiwerestronger}
-\renewcommand{\tertiarycolor}{nectar}
-\renewcommand{\darkhighlight}{suspect}
-\renewcommand{\brighthighlight}{skin}
-\renewcommand{\primarycolorcomplement}{black}
-\renewcommand{\secondarycolorcomplement}{black}
-\renewcommand{\tertiarycolorcomplement}{black}
-');
-INSERT INTO book_latex VALUES (2, 'CHOCOBERRY', '% http://www.colourlovers.com/palette/2634592/See_2
-\definecolor[named]{foggy}{HTML}{F5F6CE}
-\definecolor[named]{RosyAlpaca}{HTML}{DBB9A1}
-\definecolor[named]{LoveMeFour}{HTML}{A45F62}
-\definecolor[named]{one}{HTML}{71574B}
-\definecolor[named]{PlataMate}{HTML}{9A957A}
-
-\renewcommand{\primarycolor}{PlataMate}
-\renewcommand{\secondarycolor}{RosyAlpaca!50}
-\renewcommand{\tertiarycolor}{foggy}
-\renewcommand{\primarycolorcomplement}{white}
-\renewcommand{\secondarycolorcomplement}{black}
-\renewcommand{\tertiarycolorcomplement}{black}
-\renewcommand{\darkhighlight}{one}
-\renewcommand{\brighthighlight}{LoveMeFour}
-\renewcommand{\highlightcolor}{\brighthighlight}
-');
-INSERT INTO book_latex VALUES (3, 'SWEET_CANDY', '% http://www.colourlovers.com/palette/848743/(%E2%97%95_%E2%80%9D_%E2%97%95)
-\definecolor[named]{PartyConfetti}{HTML}{490A3D}
-\definecolor[named]{SugarHeartsYou}{HTML}{BD1550}
-\definecolor[named]{SugarCocktail}{HTML}{E97F02}
-\definecolor[named]{BurstsOfEuphoria}{HTML}{F8CA00}
-\definecolor[named]{HappyBalloon}{HTML}{8A9B0F}
-
-\renewcommand{\primarycolor}{SugarHeartsYou}
-\renewcommand{\secondarycolor}{SugarCocktail}
-\renewcommand{\tertiarycolor}{BurstsOfEuphoria}
-\renewcommand{\primarycolorcomplement}{white}
-\renewcommand{\secondarycolorcomplement}{white}
-\renewcommand{\tertiarycolorcomplement}{black}
-\renewcommand{\darkhighlight}{PartyConfetti}
-\renewcommand{\brighthighlight}{HappyBalloon}
-\renewcommand{\highlightcolor}{\brighthighlight}
-');
-
-
---
--- Data for Name: book_photograph; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_photograph_category; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_recipe; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_snippet; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-INSERT INTO book_snippet VALUES (1, 'CIURLIONIS', 'Čiurlionis', 'COLOUR_SCHEME');
-INSERT INTO book_snippet VALUES (2, 'CHOCOBERRY', 'Chocoberry', 'COLOUR_SCHEME');
-INSERT INTO book_snippet VALUES (3, 'SWEET_CANDY', 'Sweet Candy', 'COLOUR_SCHEME');
-
-
---
--- Data for Name: book_theme; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-
-
---
--- Data for Name: book_theme_name; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
---
-
-INSERT INTO book_theme_name VALUES (1, 'MODERN_SQUARE', 'Modern Square');
-INSERT INTO book_theme_name VALUES (2, 'MODERN_CIRCLE', 'Modern Circle');
+ created timestamp with time zone DEFAULT now() NOT NULL,
+ deleted timestamp with time zone,
+ updated timestamp with time zone
+);
+
+
+ALTER TABLE recipe_book.book OWNER TO recipe;
+
+--
+-- Name: TABLE book; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book IS 'Defines the common items to every book.';
+
+
+--
+-- Name: COLUMN book.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book.label IS 'Book title.';
+
+
+--
+-- Name: COLUMN book.created; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book.created IS 'Date the book was created.';
+
+
+--
+-- Name: COLUMN book.deleted; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book.deleted IS 'Date the book was (or is to be?) deleted.';
+
+
+--
+-- Name: COLUMN book.updated; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book.updated IS 'Date the book was last updated.';
+
+
+--
+-- Name: book_account; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_account (
+ id integer NOT NULL,
+ book_id integer NOT NULL,
+ account_id integer NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_account OWNER TO recipe;
+
+--
+-- Name: TABLE book_account; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_account IS 'Associates a book with an account.';
+
+
+--
+-- Name: COLUMN book_account.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_account.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_account.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_account.book_id IS 'The book associated with an account.';
+
+
+--
+-- Name: COLUMN book_account.account_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_account.account_id IS 'The account associated with a book.';
+
+
+--
+-- Name: book_account_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_account_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_account_id_seq OWNER TO recipe;
+
+--
+-- Name: book_account_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_account_id_seq OWNED BY book_account.id;
+
+
+--
+-- Name: book_account_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_account_id_seq', 9, true);
+
+
+--
+-- Name: book_aspect_name; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_aspect_name (
+ id integer NOT NULL,
+ code character varying(32) NOT NULL,
+ label character varying(32) NOT NULL,
+ description character varying(64) NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_aspect_name OWNER TO recipe;
+
+--
+-- Name: TABLE book_aspect_name; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_aspect_name IS 'Lists the names of book aspects. The aspects are a collection of snippets and many aspects are grouped together to form a theme. For example, COLOUR_SCHEME is an aspect of a theme. Think of this as the snippet category.';
+
+
+--
+-- Name: COLUMN book_aspect_name.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_aspect_name.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_aspect_name.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_aspect_name.code IS 'Uniquely identifies the code in a language-neutral way.';
+
+
+--
+-- Name: COLUMN book_aspect_name.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_aspect_name.label IS 'Human-readable name for the aspect. Can be internationalized.';
+
+
+--
+-- Name: COLUMN book_aspect_name.description; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_aspect_name.description IS 'Brief description of how the aspect is meant to be used. Values in this column could be also displayed to the user.';
+
+
+--
+-- Name: book_aspect_name_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_aspect_name_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_aspect_name_id_seq OWNER TO recipe;
+
+--
+-- Name: book_aspect_name_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_aspect_name_id_seq OWNED BY book_aspect_name.id;
+
+
+--
+-- Name: book_aspect_name_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_aspect_name_id_seq', 10, true);
+
+
+--
+-- Name: book_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_id_seq OWNER TO recipe;
+
+--
+-- Name: book_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_id_seq OWNED BY book.id;
+
+
+--
+-- Name: book_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_id_seq', 10, true);
+
+
+--
+-- Name: book_isbn; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_isbn (
+ id integer NOT NULL,
+ book_id integer NOT NULL,
+ isbn character varying(13) NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_isbn OWNER TO recipe;
+
+--
+-- Name: TABLE book_isbn; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_isbn IS 'ISBN for the given book.';
+
+
+--
+-- Name: COLUMN book_isbn.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_isbn.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_isbn.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_isbn.book_id IS 'Reference to the book that requires an ISBN code.';
+
+
+--
+-- Name: COLUMN book_isbn.isbn; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_isbn.isbn IS 'ISBN book number.';
+
+
+--
+-- Name: book_isbn_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_isbn_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_isbn_id_seq OWNER TO recipe;
+
+--
+-- Name: book_isbn_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_isbn_id_seq OWNED BY book_isbn.id;
+
+
+--
+-- Name: book_isbn_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_isbn_id_seq', 1, false);
+
+
+--
+-- Name: book_latex; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_latex (
+ id integer NOT NULL,
+ snippet_code character varying(32) NOT NULL,
+ latex text NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_latex OWNER TO recipe;
+
+--
+-- Name: TABLE book_latex; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_latex IS 'Associates LaTeX code with a book preference.';
+
+
+--
+-- Name: COLUMN book_latex.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_latex.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_latex.latex; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_latex.latex IS 'Source code associated with a configurable preference.';
+
+
+--
+-- Name: book_latex_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_latex_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_latex_id_seq OWNER TO recipe;
+
+--
+-- Name: book_latex_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_latex_id_seq OWNED BY book_latex.id;
+
+
+--
+-- Name: book_latex_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_latex_id_seq', 17, true);
+
+
+--
+-- Name: book_photograph; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_photograph (
+ id integer NOT NULL,
+ book_id integer NOT NULL,
+ image_url character varying(2048) NOT NULL,
+ book_photograph_category_id integer NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_photograph OWNER TO recipe;
+
+--
+-- Name: TABLE book_photograph; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_photograph IS 'Describes attributes about a photograph that can be used in the book.';
+
+
+--
+-- Name: COLUMN book_photograph.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_photograph.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph.book_id IS 'The book to which this photograph belongs.';
+
+
+--
+-- Name: COLUMN book_photograph.image_url; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph.image_url IS 'The website address where the image can be retrieved.';
+
+
+--
+-- Name: COLUMN book_photograph.book_photograph_category_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph.book_photograph_category_id IS 'The type of photograph (e.g., cover page, meal inset, divider page, category section page).';
+
+
+--
+-- Name: book_photograph_category; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_photograph_category (
+ id integer NOT NULL,
+ label character varying NOT NULL,
+ description character varying(128) NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_photograph_category OWNER TO recipe;
+
+--
+-- Name: TABLE book_photograph_category; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_photograph_category IS 'Contains a list of categories for book photographs.';
+
+
+--
+-- Name: COLUMN book_photograph_category.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph_category.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_photograph_category.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph_category.label IS 'Text to display to the user.';
+
+
+--
+-- Name: COLUMN book_photograph_category.description; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_photograph_category.description IS 'Brief description regarding how the category is used.';
+
+
+--
+-- Name: book_photograph_category_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_photograph_category_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_photograph_category_id_seq OWNER TO recipe;
+
+--
+-- Name: book_photograph_category_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_photograph_category_id_seq OWNED BY book_photograph_category.id;
+
+
+--
+-- Name: book_photograph_category_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_photograph_category_id_seq', 1, false);
+
+
+--
+-- Name: book_photograph_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_photograph_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_photograph_id_seq OWNER TO recipe;
+
+--
+-- Name: book_photograph_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_photograph_id_seq OWNED BY book_photograph.id;
+
+
+--
+-- Name: book_photograph_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_photograph_id_seq', 1, false);
+
+
+--
+-- Name: book_recipe; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_recipe (
+ id integer NOT NULL,
+ book_id integer NOT NULL,
+ recipe_id integer NOT NULL,
+ seq integer DEFAULT 0 NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_recipe OWNER TO recipe;
+
+--
+-- Name: TABLE book_recipe; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_recipe IS 'Associates a book with a recipe.';
+
+
+--
+-- Name: COLUMN book_recipe.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_recipe.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_recipe.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_recipe.book_id IS 'Reference to the book table.';
+
+
+--
+-- Name: COLUMN book_recipe.recipe_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_recipe.recipe_id IS 'Reference to the recipe table.';
+
+
+--
+-- Name: COLUMN book_recipe.seq; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_recipe.seq IS 'Determines the order of recipes in a book.';
+
+
+--
+-- Name: book_recipe_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_recipe_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_recipe_id_seq OWNER TO recipe;
+
+--
+-- Name: book_recipe_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_recipe_id_seq OWNED BY book_recipe.id;
+
+
+--
+-- Name: book_recipe_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_recipe_id_seq', 102, true);
+
+
+--
+-- Name: book_snippet; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_snippet (
+ id integer NOT NULL,
+ code character varying(32) NOT NULL,
+ label character varying(32) NOT NULL,
+ aspect_code character varying(32) DEFAULT 'COLOUR_SCHEME'::character varying NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_snippet OWNER TO recipe;
+
+--
+-- Name: TABLE book_snippet; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_snippet IS 'Lists the names of book snippets. The snippets are associated with specific aspects.';
+
+
+--
+-- Name: COLUMN book_snippet.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_snippet.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_snippet.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_snippet.code IS 'Uniquely identifies the code in a language-neutral way.';
+
+
+--
+-- Name: COLUMN book_snippet.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_snippet.label IS 'Human-readable name for the snippet. Can be internationalized.';
+
+
+--
+-- Name: COLUMN book_snippet.aspect_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_snippet.aspect_code IS 'Associates the book snippet with a book aspect.';
+
+
+--
+-- Name: book_snippet_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_snippet_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_snippet_id_seq OWNER TO recipe;
+
+--
+-- Name: book_snippet_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_snippet_id_seq OWNED BY book_snippet.id;
+
+
+--
+-- Name: book_snippet_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_snippet_id_seq', 18, true);
+
+
+--
+-- Name: book_spine; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_spine (
+ id integer NOT NULL,
+ book_id integer NOT NULL,
+ label character varying(64) NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_spine OWNER TO recipe;
+
+--
+-- Name: TABLE book_spine; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_spine IS 'Label for the spine of a book.';
+
+
+--
+-- Name: COLUMN book_spine.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_spine.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_spine.book_id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_spine.book_id IS 'Reference to the book that requires a spine label.';
+
+
+--
+-- Name: COLUMN book_spine.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_spine.label IS 'Label for the spine of a book.';
+
+
+--
+-- Name: book_spine_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_spine_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_spine_id_seq OWNER TO recipe;
+
+--
+-- Name: book_spine_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_spine_id_seq OWNED BY book_spine.id;
+
+
+--
+-- Name: book_spine_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_spine_id_seq', 1, false);
+
+
+--
+-- Name: book_theme; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_theme (
+ id integer NOT NULL,
+ theme_code character varying(32) NOT NULL,
+ aspect_code character varying(32) NOT NULL,
+ snippet_code character varying(32) NOT NULL,
+ seq integer DEFAULT 0 NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_theme OWNER TO recipe;
+
+--
+-- Name: TABLE book_theme; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_theme IS 'A book theme is comprised of a number of aspects. The aspects per theme must be unique. That is, a book theme cannot have two COLOUR_SCHEME aspects.';
+
+
+--
+-- Name: COLUMN book_theme.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_theme.theme_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme.theme_code IS 'Reference to the theme''s name.';
+
+
+--
+-- Name: COLUMN book_theme.aspect_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme.aspect_code IS 'Reference to the aspect. Each aspect can only appear once in a theme.';
+
+
+--
+-- Name: COLUMN book_theme.snippet_code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme.snippet_code IS 'Indirect reference to the aspect code, via a snippet.';
+
+
+--
+-- Name: COLUMN book_theme.seq; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme.seq IS 'Queries for a book theme should fetch the results in the order denoted by this column.';
+
+
+--
+-- Name: book_theme_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_theme_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_theme_id_seq OWNER TO recipe;
+
+--
+-- Name: book_theme_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_theme_id_seq OWNED BY book_theme.id;
+
+
+--
+-- Name: book_theme_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_theme_id_seq', 6, true);
+
+
+--
+-- Name: book_theme_name; Type: TABLE; Schema: recipe_book; Owner: recipe; Tablespace:
+--
+
+CREATE TABLE book_theme_name (
+ id integer NOT NULL,
+ code character varying(32) NOT NULL,
+ label character varying NOT NULL
+);
+
+
+ALTER TABLE recipe_book.book_theme_name OWNER TO recipe;
+
+--
+-- Name: TABLE book_theme_name; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON TABLE book_theme_name IS 'Lists all the book theme names (e.g., maps MODERN_SQUARE to "Modern Square").';
+
+
+--
+-- Name: COLUMN book_theme_name.id; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme_name.id IS 'Primary key.';
+
+
+--
+-- Name: COLUMN book_theme_name.code; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme_name.code IS 'Uniquely identifies the theme.';
+
+
+--
+-- Name: COLUMN book_theme_name.label; Type: COMMENT; Schema: recipe_book; Owner: recipe
+--
+
+COMMENT ON COLUMN book_theme_name.label IS 'Textual description of the book.';
+
+
+--
+-- Name: book_theme_name_id_seq; Type: SEQUENCE; Schema: recipe_book; Owner: recipe
+--
+
+CREATE SEQUENCE book_theme_name_id_seq
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+
+ALTER TABLE recipe_book.book_theme_name_id_seq OWNER TO recipe;
+
+--
+-- Name: book_theme_name_id_seq; Type: SEQUENCE OWNED BY; Schema: recipe_book; Owner: recipe
+--
+
+ALTER SEQUENCE book_theme_name_id_seq OWNED BY book_theme_name.id;
+
+
+--
+-- Name: book_theme_name_id_seq; Type: SEQUENCE SET; Schema: recipe_book; Owner: recipe
+--
+
+SELECT pg_catalog.setval('book_theme_name_id_seq', 3, true);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book ALTER COLUMN id SET DEFAULT nextval('book_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_account ALTER COLUMN id SET DEFAULT nextval('book_account_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_aspect_name ALTER COLUMN id SET DEFAULT nextval('book_aspect_name_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_isbn ALTER COLUMN id SET DEFAULT nextval('book_isbn_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_latex ALTER COLUMN id SET DEFAULT nextval('book_latex_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_photograph ALTER COLUMN id SET DEFAULT nextval('book_photograph_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_photograph_category ALTER COLUMN id SET DEFAULT nextval('book_photograph_category_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_recipe ALTER COLUMN id SET DEFAULT nextval('book_recipe_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_snippet ALTER COLUMN id SET DEFAULT nextval('book_snippet_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_spine ALTER COLUMN id SET DEFAULT nextval('book_spine_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_theme ALTER COLUMN id SET DEFAULT nextval('book_theme_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: recipe_book; Owner: recipe
+--
+
+ALTER TABLE book_theme_name ALTER COLUMN id SET DEFAULT nextval('book_theme_name_id_seq'::regclass);
+
+
+--
+-- Data for Name: book; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book VALUES (2, 'Making Brussels Sprouts Speak', '2013-01-26 17:52:00.294164-08', NULL, NULL);
+INSERT INTO book VALUES (3, 'Creative Caramel Catastrophes', '2013-01-27 18:45:34.210865-08', NULL, NULL);
+INSERT INTO book VALUES (4, 'Best Bread in Business', '2013-02-02 12:44:33.560565-08', NULL, NULL);
+INSERT INTO book VALUES (5, 'Transylvania Tarts', '2013-02-02 13:10:38.4827-08', NULL, NULL);
+INSERT INTO book VALUES (6, 'Vampire Vegetables', '2013-02-02 13:20:58.05462-08', NULL, NULL);
+INSERT INTO book VALUES (7, 'Monster Mashed Potatoes', '2013-02-02 13:21:24.122045-08', NULL, NULL);
+INSERT INTO book VALUES (8, 'Succulent Succubus Sweets', '2013-02-02 13:25:16.262556-08', NULL, NULL);
+INSERT INTO book VALUES (9, 'Undead Udon Noodles', '2013-02-02 14:05:05.326933-08', NULL, NULL);
+INSERT INTO book VALUES (10, 'All The Recipes in the World', '2013-02-02 15:15:00.236736-08', NULL, NULL);
+
+
+--
+-- Data for Name: book_account; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_account VALUES (1, 2, 4);
+INSERT INTO book_account VALUES (2, 3, 4);
+INSERT INTO book_account VALUES (3, 4, 4);
+INSERT INTO book_account VALUES (4, 5, 4);
+INSERT INTO book_account VALUES (5, 6, 4);
+INSERT INTO book_account VALUES (6, 7, 4);
+INSERT INTO book_account VALUES (7, 8, 4);
+INSERT INTO book_account VALUES (8, 9, 4);
+INSERT INTO book_account VALUES (9, 10, 4);
+
+
+--
+-- Data for Name: book_aspect_name; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_aspect_name VALUES (1, 'COLOUR_SCHEME', 'Colour Scheme', 'Sets the primary, secondary, and accent colours.');
+INSERT INTO book_aspect_name VALUES (3, 'FONT', 'Font Style', 'Sets the primary and secondary fonts.');
+INSERT INTO book_aspect_name VALUES (4, 'LIST_STYLE', 'List Style', 'Sets the appearance for enumerated and bullet lists.');
+INSERT INTO book_aspect_name VALUES (7, 'PAGE_LAYOUT', 'Page Layout', 'Changes the arrangement of recipe parts on the page.');
+INSERT INTO book_aspect_name VALUES (9, 'PAGE_HEADER', 'Page Header', 'Defines the elements and style at the top of each page.');
+INSERT INTO book_aspect_name VALUES (8, 'PAGE_FOOTER', 'Page Footer', 'Defines the elements and style at the bottom of each page.');
+INSERT INTO book_aspect_name VALUES (2, 'INSET_PHOTO', 'Inset Photographs', 'Decorates photographs on the same page as the recipe text.');
+INSERT INTO book_aspect_name VALUES (10, 'UNCATEGORIZED', 'Uncategorized', 'Miscellaneous LaTeX snippets used by themes.');
+
+
+--
+-- Data for Name: book_isbn; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+
+
+--
+-- Data for Name: book_latex; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_latex VALUES (1, 'CIURLIONIS', '% http://www.colourlovers.com/palette/2634294/APC393_%C4%8Ciurlionis
+\definecolor[named]{skin}{HTML}{F2B166}
+\definecolor[named]{nectar}{HTML}{EDE2C2}
+\definecolor[named]{ifiwerestronger}{HTML}{D2B490}
+\definecolor[named]{p}{HTML}{AB8369}
+\definecolor[named]{suspect}{HTML}{755348}
+
+\renewcommand{\primarycolor}{p}
+\renewcommand{\secondarycolor}{ifiwerestronger}
+\renewcommand{\tertiarycolor}{nectar}
+\renewcommand{\darkhighlight}{suspect}
+\renewcommand{\brighthighlight}{skin}
+\renewcommand{\primarycolorcomplement}{black}
+\renewcommand{\secondarycolorcomplement}{black}
+\renewcommand{\tertiarycolorcomplement}{black}
+');
+INSERT INTO book_latex VALUES (2, 'CHOCOBERRY', '% http://www.colourlovers.com/palette/2634592/See_2
+\definecolor[named]{foggy}{HTML}{F5F6CE}
+\definecolor[named]{RosyAlpaca}{HTML}{DBB9A1}
+\definecolor[named]{LoveMeFour}{HTML}{A45F62}
+\definecolor[named]{one}{HTML}{71574B}
+\definecolor[named]{PlataMate}{HTML}{9A957A}
+
+\renewcommand{\primarycolor}{PlataMate}
+\renewcommand{\secondarycolor}{RosyAlpaca!50}
+\renewcommand{\tertiarycolor}{foggy}
+\renewcommand{\primarycolorcomplement}{white}
+\renewcommand{\secondarycolorcomplement}{black}
+\renewcommand{\tertiarycolorcomplement}{black}
+\renewcommand{\darkhighlight}{one}
+\renewcommand{\brighthighlight}{LoveMeFour}
+\renewcommand{\highlightcolor}{\brighthighlight}
+');
+INSERT INTO book_latex VALUES (3, 'SWEET_CANDY', '% http://www.colourlovers.com/palette/848743/(%E2%97%95_%E2%80%9D_%E2%97%95)
+\definecolor[named]{PartyConfetti}{HTML}{490A3D}
+\definecolor[named]{SugarHeartsYou}{HTML}{BD1550}
+\definecolor[named]{SugarCocktail}{HTML}{E97F02}
+\definecolor[named]{BurstsOfEuphoria}{HTML}{F8CA00}
+\definecolor[named]{HappyBalloon}{HTML}{8A9B0F}
+
+\renewcommand{\primarycolor}{SugarHeartsYou}
+\renewcommand{\secondarycolor}{SugarCocktail}
+\renewcommand{\tertiarycolor}{BurstsOfEuphoria}
+\renewcommand{\primarycolorcomplement}{white}
+\renewcommand{\secondarycolorcomplement}{white}
+\renewcommand{\tertiarycolorcomplement}{black}
+\renewcommand{\darkhighlight}{PartyConfetti}
+\renewcommand{\brighthighlight}{HappyBalloon}
+\renewcommand{\highlightcolor}{\brighthighlight}
+');
+INSERT INTO book_latex VALUES (7, 'SANS_SERIF', '\renewcommand{\recipefamily}{\sffamily}
+\renewcommand{\headingfamily}{\sffamily}
+\renewcommand{\familydefault}{\rmdefault}
+');
+INSERT INTO book_latex VALUES (8, 'SERIF', '\renewcommand{\recipefamily}{\sffamily}
+\renewcommand{\headingfamily}{\sffamily}
+\renewcommand{\familydefault}{\sfdefault}
+');
+INSERT INTO book_latex VALUES (9, 'SERIF_SANS', '\renewcommand{\recipefamily}{\rmfamily}
+\renewcommand{\headingfamily}{\rmfamily}
+\renewcommand{\familydefault}{\sfdefault}
+');
+INSERT INTO book_latex VALUES (10, 'SERIF', '\renewcommand{\recipefamily}{\rmfamily}
+\renewcommand{\headingfamily}{\rmfamily}
+\renewcommand{\familydefault}{\rmdefault}
+');
+INSERT INTO book_latex VALUES (12, 'CIRCLES', '\renewcommand{\headingmarker}{\raisebox{1pt}{\small\CIRCLE}}
+\renewcommand{\itemmarker}{\color{\secondarycolor}{\CIRCLE}}
+\renewcommand{\inlinelistmarker}{\raisebox{1pt}{\makebox[1.5em][c]{\color{\secondarycolor}\scriptsize\CIRCLE}}}
+\renewcommand{\enumeratemarker}[1]{\circledNum{#1}}
+');
+INSERT INTO book_latex VALUES (13, 'SQUARES', '\renewcommand{\headingmarker}{\tikz[baseline=-3pt]\node[diamond,draw=none,inner sep=2.25pt,fill=\headingcolor]{};}
+\renewcommand{\itemmarker}{\textcolor{\secondarycolor}{\scriptsize$\blacksquare$}}
+\renewcommand{\inlinelistmarker}{\makebox[1.5em][c]{\color{\secondarycolor}\tiny$\blacksquare$}}
+\renewcommand{\enumeratemarker}[1]{\framedNum{#1}}
+');
+INSERT INTO book_latex VALUES (14, 'ONE_COLUMN_SPREAD_REVERSE', '\renewenvironment{recipe}[1]{%
+ \clearpage%
+ \renewcommand{\recipetitle}{#1}
+ \color{\maintextcolor}%
+}{%
+ \clearpage%
+}
+
+\renewcommand{\startinstructions}{}
+
+\compactingredients
+\compactequipment
+%\compactinstructions
+
+%\renewcommand{\startinstructions}{\columnbreak}
+\renewcommand{\photo}[1]{%
+% \ThisCenterWallPaper{1}{#1}\cleardoublepage
+ \fullpagephoto{#1}\cleardoublepage
+ \section{\recipetitle}
+');
+INSERT INTO book_latex VALUES (4, 'AUGIE', '% http://www.dafont.com/augie.font
+\renewcommand{\rmdefault}{augie}
+\renewcommand{\sfdefault}{augie}
+\small
+');
+INSERT INTO book_latex VALUES (5, 'LINUX_LIBERTINE', '% Serif = Linux Libertine; Sans serif = Linux Biolinum
+\renewcommand{\recipefamily}{\sffamily}
+\renewcommand{\headingfamily}{\sffamily}
+\renewcommand{\familydefault}{\rmdefault}
+
+% http://www.linuxlibertine.org/
+\usepackage[lf]{libertine}
+');
+INSERT INTO book_latex VALUES (6, 'PAGELLA_ADVENTOR', '% Serif = TeX Gyre Pagella (Palatino replacement)
+% Sans serif = TeX Gyre Adventor (Avant Garde Gothic replacement)
+% http://www.fontsquirrel.com/fonts/TeX-Gyre-Pagella
+\usepackage{tgpagella}
+
+% http://www.fontsquirrel.com/fonts/TeX-Gyre-Adventor
+\usepackage[scale=.89]{tgadventor}
+');
+INSERT INTO book_latex VALUES (11, 'TERMES_HEROS', '% Sans serif = TeX Gyer Heros (Helvetica replacement)
+% http://www.fontsquirrel.com/fonts/TeX-Gyre-Heros
+\usepackage[scale=.89]{tgheros}
+
+% Serif = Tex Gyre Termes (Times Roman replacement)
+% http://www.fontsquirrel.com/fonts/TeX-Gyre-Termes
+\usepackage{tgtermes}
+');
+INSERT INTO book_latex VALUES (15, 'UNDEFINED_MODERN', '% Lian Tze LIM
+% http://liantze.penguinattack.org/
+% 16 January 2013
+%
+% Layout inspiration: "100 Recipes from Japanese Cooking"
+% Authors: Hata Koichiro and Kondo Kazuki
+% Publisher: Kodansha Books
+% ISBN: 978-4770020796
+
+\providecommand{\fullruled}[1]{#1\vskip-3pt\rule{\linewidth}{1pt}}
+\providecommand{\halfruled}[1]{\headingmarker\ #1\vskip-6pt\rule{.5\linewidth}{.4pt}\vskip-3pt}
+
+\setlength{\columnsep}{3em}
+\renewcommand{\columnseprule}{6pt}
+\renewcommand{\columnseprulecolor}{\color{\tertiarycolor}}
+
+\renewcommand{\recipesize}{\Huge}
+\renewcommand{\recipestyle}{\bfseries\itshape\checkoddpage\strictpagecheck\ifoddpage\raggedleft\else\raggedright\fi\fullruled}
+\renewcommand{\headingsize}{\large}
+\renewcommand{\headingstyle}{\bfseries\halfruled}
+
+\renewcommand{\ovenstyle}{\itshape\par}
+
+\renewcommand{\ingredientsstyle}{%
+ nosep,%
+ label=\itemmarker,%
+ leftmargin=*
+}
+
+\renewcommand{\equipmentstyle}{%
+ mode=unboxed,%
+ leftmargin=*,%
+ itemjoin=\inlinelistmarker,
+ noitemsep
+}
+
+\renewcommand{\instructionsstyle}{%
+ leftmargin=*,%
+ itemsep=1pt,%
+ label={\enumeratemarker{\arabic*}}
+}
+
+\renewcommand{\insetphoto}[1]{%
+ \includegraphics[width=\linewidth]{#1}\par\bigskip
+}
+');
+INSERT INTO book_latex VALUES (16, 'UNDEFINED_NOTEBOOK', '% Lian Tze LIM
+% http://liantze.penguinattack.org/
+% 16 January 2013
+
+\providecommand{\handUnderline}[1]{%
+ \settowidth{\tmplength}{#1}%
+ #1\vskip-.8em
+ \tikz[decoration={random steps,segment length=2mm,amplitude=1pt}]\draw[decorate,line width=.15ex,line cap=round] (0,0) -- (\tmplength,0);\par
+}
+
+\providecommand{\scribbledHeading}[1]{%
+ \handUnderline{\headingmarker\ #1}
+}
+
+\renewcommand{\recipesize}{\Huge}
+\renewcommand{\recipestyle}[1]{\centering\handUnderline{#1}}
+\renewcommand{\headingsize}{\large}
+\renewcommand{\headingstyle}{\scribbledHeading}
+
+
+\setlength{\columnsep}{3em}
+\renewcommand{\columnseprule}{6pt}
+\renewcommand{\columnseprulecolor}{\color{\tertiarycolor}}
+
+\renewcommand{\recipesize}{\Huge}
+\renewcommand{\headingsize}{\Large}
+
+\renewcommand{\headingmarker}{\textcolor{\headingcolor}{\&}}
+\renewcommand{\itemmarker}{\textcolor{\secondarycolor}{*}}
+\renewcommand{\enumeratemarker}[1]{\textcolor{\secondarycolor}{\# #1.}}
+\renewcommand{\inlinelistmarker}{\makebox[1.5em][c]{\textcolor{\secondarycolor}{\textbullet}}}
+
+\renewcommand{\ingredientsstyle}{%
+ nosep,%
+ label=\itemmarker,%
+ leftmargin=*
+}
+
+\renewcommand\descriptionlabel[1]{%
+ \hspace\labelsep
+ \normalfont\textcolor{\darkhighlight}{#1:}}
+
+\renewcommand{\equipmentstyle}{%
+ mode=unboxed,%
+ leftmargin=*,%
+ itemjoin=\inlinelistmarker,
+ noitemsep
+}
+
+\renewcommand{\instructionsstyle}{%
+ leftmargin=*,%
+ itemsep=1pt,%
+ label={\enumeratemarker{\arabic*}}
+}
+
+%\pgfmathsetseed{\pdfuniformdeviate 10000000}
+%\pgfmathsetseed{1}
+\providecommand{\rotatepic}[1]{%
+\noindent\raggedright%
+\begin{tikzpicture}
+\node[rotate={rand*4.0},inner sep=1em,draw=gray!60,fill=white, blur shadow={shadow blur steps=5,shadow xshift=1ex,shadow yshift=-1ex,shadow opacity=20,shadow blur radius=1ex}]{\includegraphics[width=.85\linewidth]{#1}};
+\end{tikzpicture}
+}
+
+\renewcommand{\insetphoto}[1]{\rotatepic{#1}\par\bigskip}
+');
+INSERT INTO book_latex VALUES (17, 'TWO_COLUMN_TWO_SIDE', '\renewenvironment{recipe}[1]{%
+ \clearpage%
+ \color{\maintextcolor}%
+ \raggedcolumns
+ \checkoddpage\strictpagecheck\ifoddpage\RLmulticolcolumns\else\LRmulticolcolumns\fi
+ \begin{multicols*}{2}[\section{#1}]%
+}{%
+ \end{multicols*}%
+}
+
+\renewcommand{\startinstructions}{\columnbreak}
+
+\renewcommand{\photo}[1]{\insetphoto{#1}}
+
+\normalingredientsjarvisd@jaguar:~/htdocs/recipes/book/layout$ cat twocolumn-twoside.tex && echo
+\renewenvironment{recipe}[1]{%
+ \clearpage%
+ \color{\maintextcolor}%
+ \raggedcolumns
+ \checkoddpage\strictpagecheck\ifoddpage\RLmulticolcolumns\else\LRmulticolcolumns\fi
+ \begin{multicols*}{2}[\section{#1}]%
+}{%
+ \end{multicols*}%
+}
+
+\renewcommand{\startinstructions}{\columnbreak}
+
+\renewcommand{\photo}[1]{\insetphoto{#1}}
+
+\normalingredients
+');
+
+
+--
+-- Data for Name: book_photograph; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+
+
+--
+-- Data for Name: book_photograph_category; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+
+
+--
+-- Data for Name: book_recipe; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_recipe VALUES (83, 10, 2, 1);
+INSERT INTO book_recipe VALUES (84, 10, 4, 2);
+INSERT INTO book_recipe VALUES (85, 10, 1, 3);
+INSERT INTO book_recipe VALUES (86, 10, 3, 4);
+INSERT INTO book_recipe VALUES (87, 10, 5, 5);
+INSERT INTO book_recipe VALUES (7, 2, 2, 1);
+INSERT INTO book_recipe VALUES (8, 2, 4, 2);
+INSERT INTO book_recipe VALUES (9, 2, 1, 3);
+INSERT INTO book_recipe VALUES (10, 2, 3, 4);
+INSERT INTO book_recipe VALUES (11, 2, 5, 5);
+INSERT INTO book_recipe VALUES (98, 9, 2, 1);
+INSERT INTO book_recipe VALUES (99, 9, 4, 2);
+INSERT INTO book_recipe VALUES (100, 9, 1, 3);
+INSERT INTO book_recipe VALUES (101, 9, 3, 4);
+INSERT INTO book_recipe VALUES (102, 9, 5, 5);
+INSERT INTO book_recipe VALUES (46, 3, 2, 1);
+INSERT INTO book_recipe VALUES (47, 3, 3, 2);
+INSERT INTO book_recipe VALUES (48, 3, 5, 3);
+INSERT INTO book_recipe VALUES (51, 5, 2, 1);
+INSERT INTO book_recipe VALUES (52, 5, 4, 2);
+INSERT INTO book_recipe VALUES (53, 6, 3, 1);
+INSERT INTO book_recipe VALUES (54, 6, 5, 2);
+INSERT INTO book_recipe VALUES (55, 7, 1, 1);
+INSERT INTO book_recipe VALUES (56, 7, 2, 2);
+INSERT INTO book_recipe VALUES (57, 7, 3, 3);
+INSERT INTO book_recipe VALUES (58, 7, 4, 4);
+INSERT INTO book_recipe VALUES (59, 7, 5, 5);
+INSERT INTO book_recipe VALUES (60, 8, 2, 1);
+INSERT INTO book_recipe VALUES (61, 8, 4, 2);
+INSERT INTO book_recipe VALUES (62, 8, 5, 3);
+INSERT INTO book_recipe VALUES (63, 4, 1, 1);
+INSERT INTO book_recipe VALUES (64, 4, 5, 2);
+
+
+--
+-- Data for Name: book_snippet; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_snippet VALUES (1, 'CIURLIONIS', 'Čiurlionis', 'COLOUR_SCHEME');
+INSERT INTO book_snippet VALUES (2, 'CHOCOBERRY', 'Chocoberry', 'COLOUR_SCHEME');
+INSERT INTO book_snippet VALUES (3, 'SWEET_CANDY', 'Sweet Candy', 'COLOUR_SCHEME');
+INSERT INTO book_snippet VALUES (5, 'LINUX_LIBERTINE', 'Penguin Liberty', 'FONT');
+INSERT INTO book_snippet VALUES (6, 'PAGELLA_ADVENTOR', 'Leafy Adventure', 'FONT');
+INSERT INTO book_snippet VALUES (4, 'AUGIE', 'Third Grade', 'FONT');
+INSERT INTO book_snippet VALUES (7, 'SANS_SERIF', 'Sans over Serif', 'FONT');
+INSERT INTO book_snippet VALUES (8, 'SANS', 'Sans Alone', 'FONT');
+INSERT INTO book_snippet VALUES (9, 'SERIF_SANS', 'Serif over Sans', 'FONT');
+INSERT INTO book_snippet VALUES (10, 'SERIF', 'Serif Alone', 'FONT');
+INSERT INTO book_snippet VALUES (11, 'TERMES_HEROS', 'Old Time Héros', 'FONT');
+INSERT INTO book_snippet VALUES (12, 'CIRCLES', 'Circles', 'LIST_STYLE');
+INSERT INTO book_snippet VALUES (13, 'SQUARES', 'Squares', 'LIST_STYLE');
+INSERT INTO book_snippet VALUES (14, 'ONE_COLUMN_SPREAD_REVERSE', 'Full Page Pictures', 'PAGE_LAYOUT');
+INSERT INTO book_snippet VALUES (15, 'FRAMED_FOOTER', 'Framed Page Number', 'PAGE_FOOTER');
+INSERT INTO book_snippet VALUES (16, 'UNDEFINED_MODERN', 'Undefined Modern', 'UNCATEGORIZED');
+INSERT INTO book_snippet VALUES (17, 'UNDEFINED_NOTEBOOK', 'Undefined Notebook', 'UNCATEGORIZED');
+INSERT INTO book_snippet VALUES (18, 'TWO_COLUMN_TWO_SIDE', 'Half and Half', 'PAGE_LAYOUT');
+
+
+--
+-- Data for Name: book_spine; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+
+
+--
+-- Data for Name: book_theme; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_theme VALUES (1, 'MODERN_SQUARE', 'FONT', 'LINUX_LIBERTINE', 1);
+INSERT INTO book_theme VALUES (2, 'MODERN_SQUARE', 'COLOUR_SCHEME', 'CHOCOBERRY', 2);
+INSERT INTO book_theme VALUES (3, 'MODERN_SQUARE', 'LIST_STYLE', 'SQUARES', 3);
+INSERT INTO book_theme VALUES (4, 'MODERN_SQUARE', 'PAGE_LAYOUT', 'TWO_COLUMN_TWO_SIDE', 4);
+INSERT INTO book_theme VALUES (5, 'MODERN_SQUARE', 'PAGE_FOOTER', 'FRAMED_FOOTER', 5);
+INSERT INTO book_theme VALUES (6, 'MODERN_SQUARE', 'UNCATEGORIZED', 'UNDEFINED_MODERN', 6);
+
+
+--
+-- Data for Name: book_theme_name; Type: TABLE DATA; Schema: recipe_book; Owner: recipe
+--
+
+INSERT INTO book_theme_name VALUES (1, 'MODERN_SQUARE', 'Modern Square');
+INSERT INTO book_theme_name VALUES (2, 'MODERN_CIRCLE', 'Modern Circle');
+INSERT INTO book_theme_name VALUES (3, 'NOTEBOOK', 'Notebook');
sql/recipe-book.txt
- COLOUR_SCHEME, BLUEBERRY, Blueberry, \header{\color{blue}}
- Aspect, Snippet, LaTeX
-
- COLOUR_SCHEME, RASPBERRY, Raspberry, \header{\color{red}}
- COLOUR_SCHEME, PEACH, Peach, \header{\color{...}}
- LIST, ENUMERATED, Use Numbered instructions, \enumerate_instructions{true} \paragraph_instructions{false}
- LIST, PARAGRAPH, Use Paragraph instructions, \enumerate_instructions{false} \paragraph_instructions{true}
- LIST_BACKGROUND, SQUARE, Square bullets, \list_background{...}
- LIST_BACKGROUND, CIRCLE, Circular bullets, \list_background{...}
- LIST_BACKGROUND, TRIANGLE, Triangular bullets, \list_background{...}
- LIST_BACKGROUND, RAINDROP, Raindrop bullets, \list_background{...}
- HEADER_BACKGROUND, SQUARE, Square header background line, \header{\background{...}}
- HEADER_BACKGROUND, NONE, No header background
- INSET_PHOTO, TILT, Inset photos are tilted a few degrees, ...
- INSET_PHOTO, TILT_RANDOM, Inset photos are tilted a random amount, ...
- INSET_PHOTO, TILT_ANGLE, Inset photos are tilted by a specific degree, ...
- INSET_PHOTO, DROP_SHADOW, Drop Shadow, \picture_shadow{ true }
- INSET_PHOTO, FADED_SHADOW, Faded Shadow, \picture_faded_shadow{ true }
- INSET_PHOTO, BORDER_THICKNESS, Border Thickness, \picture_border_thickness{ 0 }
- INSET_PHOTO, BORDER_COLOUR, Border Colour, \picture_border_colour{ \primarycolour }
-
-Then, the ModernSquare would be stored in the database as:
-
- MODERN_SQUARE, COLOUR_SCHEME, PEACH
- MODERN_SQUARE, LIST, ENUMERATED
- MODERN_SQUARE, LIST_BACKGROUND, SQUARE
- MODERN_SQUARE, HEADER_BACKGROUND, SQUARE
-
-

Revised database (includes data dumps). Added XML for a book. Removed textual description of structure.

Author Dave Jarvis <email>
Date 2013-02-02 16:28:19 GMT-0800
Commit 5a555331b93c5b8974e6f0bc869cd15605b3f1cc
Parent 8ba890a
Delta 1595 lines added, 997 lines removed, 598-line increase