Scot Hacker 2017-02-10 14:01:16 +00:00
commit 545a49dbda
19 zmienionych plików z 696 dodań i 212 usunięć

Wyświetl plik

@ -0,0 +1,418 @@
[
{
"model": "breads.country",
"pk": 1,
"fields": {
"title": "Egypt"
}
},
{
"model": "breads.country",
"pk": 2,
"fields": {
"title": "Slovenia"
}
},
{
"model": "breads.country",
"pk": 3,
"fields": {
"title": "United States (New England)"
}
},
{
"model": "breads.country",
"pk": 4,
"fields": {
"title": "Japan"
}
},
{
"model": "breads.country",
"pk": 5,
"fields": {
"title": "India (Kerala)\nSri Lanka"
}
},
{
"model": "breads.country",
"pk": 6,
"fields": {
"title": "South America (Northern)"
}
},
{
"model": "breads.country",
"pk": 7,
"fields": {
"title": "China (Northwestern Yunnan, Naxi people)"
}
},
{
"model": "breads.country",
"pk": 8,
"fields": {
"title": "Polish/Ashkenazi Jewish"
}
},
{
"model": "breads.country",
"pk": 9,
"fields": {
"title": "France"
}
},
{
"model": "breads.country",
"pk": 10,
"fields": {
"title": "Tibet (Central)"
}
},
{
"model": "breads.country",
"pk": 11,
"fields": {
"title": "Jamaica"
}
},
{
"model": "breads.country",
"pk": 12,
"fields": {
"title": ""
}
},
{
"model": "breads.country",
"pk": 13,
"fields": {
"title": "United Kingdom (Scotland)"
}
},
{
"model": "breads.country",
"pk": 14,
"fields": {
"title": "United Kingdom (Wales)"
}
},
{
"model": "breads.country",
"pk": 15,
"fields": {
"title": "Iran\nAfghanistan (northwestern)"
}
},
{
"model": "breads.country",
"pk": 16,
"fields": {
"title": "Ireland"
}
},
{
"model": "breads.country",
"pk": 17,
"fields": {
"title": "Italy"
}
},
{
"model": "breads.country",
"pk": 18,
"fields": {
"title": "Libya"
}
},
{
"model": "breads.country",
"pk": 19,
"fields": {
"title": "Turkey"
}
},
{
"model": "breads.country",
"pk": 20,
"fields": {
"title": "North America"
}
},
{
"model": "breads.country",
"pk": 21,
"fields": {
"title": "India\nPakistan"
}
},
{
"model": "breads.country",
"pk": 22,
"fields": {
"title": "Poland"
}
},
{
"model": "breads.country",
"pk": 23,
"fields": {
"title": "China"
}
},
{
"model": "breads.country",
"pk": 24,
"fields": {
"title": "Afghanistan"
}
},
{
"model": "breads.country",
"pk": 25,
"fields": {
"title": "Portugal (Madeira)"
}
},
{
"model": "breads.breadtype",
"pk": 1,
"fields": {
"title": "asdf"
}
},
{
"model": "breads.breadtype",
"pk": 2,
"fields": {
"title": "Flatbread"
}
},
{
"model": "breads.breadtype",
"pk": 3,
"fields": {
"title": "Buckwheat bread"
}
},
{
"model": "breads.breadtype",
"pk": 4,
"fields": {
"title": "Yeast bread"
}
},
{
"model": "breads.breadtype",
"pk": 5,
"fields": {
"title": "Sweet bun"
}
},
{
"model": "breads.breadtype",
"pk": 6,
"fields": {
"title": "Varies widely"
}
},
{
"model": "breads.breadtype",
"pk": 7,
"fields": {
"title": "Cornbread"
}
},
{
"model": "breads.breadtype",
"pk": 8,
"fields": {
"title": "Various thick, round breads"
}
},
{
"model": "breads.breadtype",
"pk": 9,
"fields": {
"title": "Sweet bread"
}
},
{
"model": "breads.breadtype",
"pk": 10,
"fields": {
"title": "Fruit bread"
}
},
{
"model": "breads.breadtype",
"pk": 11,
"fields": {
"title": "Unleavened bread"
}
},
{
"model": "breads.breadtype",
"pk": 12,
"fields": {
"title": "Quick or yeast bread"
}
},
{
"model": "breads.breadtype",
"pk": 13,
"fields": {
"title": "Waffle"
}
},
{
"model": "breads.breadtype",
"pk": 14,
"fields": {
"title": "Unleavened Flatbread"
}
},
{
"model": "breads.breadtype",
"pk": 15,
"fields": {
"title": "Yeast bread or unleavened"
}
},
{
"model": "breads.breadtype",
"pk": 16,
"fields": {
"title": "Rye bread"
}
},
{
"model": "breads.breadtype",
"pk": 17,
"fields": {
"title": "Bun"
}
},
{
"model": "breads.breadtype",
"pk": 18,
"fields": {
"title": "Pancake"
}
},
{
"model": "breads.breadpage",
"pk": 34,
"fields": {
"origin": 3,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>It is not readily agreed exactly when or where the bread originated, except it existed before 1850 in Rockport, Massachusetts. It is thought to have come from the local fishing community,[1][2] but it may have come through the Finnish community of local stonecutters.</p><p>Near the turn of the 20th century, it was baked by a man named Baker Knowlton on King Street in Rockport, Massachusetts and delivered in a horse-drawn cart to households by men in blue smocks. In the 1940s, a Rockport restaurant owned by Bill and Melissa Smith called The Blacksmith Shop on Mt. Pleasant St. started baking the bread for their restaurant in a small bakery on Main St. They baked about 80 loaves a day until 1956, when they built a modern $250,000 bakery on Pooles Lane. They had 70 employees and 40 trucks which delivered Anadama bread all over New England.</p><p>The Anadama bread center of consumption was in Rockport and next-door Gloucester, Massachusetts. It was commercially available from local bakeries widely on Cape Ann from the early 1900s until 1970, when the Anadama Bread Bakery on Pooles Lane in Rockport closed due to Bill Smith's death. For a number of years, it was baked by small local bakeries at breakfast places on Cape Ann.</p><p>An apocryphal story told about the origin of the bread goes like this: Every day a local worker would find cornmeal mush in his tin lunch pail, despite asking his wife for an occasional piece of bread. One day, because of weather or other circumstances, he came home just prior to lunch time. His wife, Anna, was out. He sat down and opened his lunch box to find the usual cornmeal mush. He sighed and said, \\\"Anna, damn her,\\\" as he resolutely reached for the flour, molasses and yeast which he added to the cornmeal mush. His resulting bread became a local favorite.</p><p>Recipe: Put in a large mixing bowl 2 cups boiling water and 1/2 cup cornmeal. Stir thoroughly. Let stand one hour. Add 1/2 cup molasses, 2 teaspoons salt, and 1 tablespoon butter. Put in a small bowl 1/2 cup lukewarm water and 1 package yeast. When dissolved, add to the cornmeal. Stir in 4 1/2 cups flour. Beat thoroughly and let rise until double in bulk. Add enough more flour to make the dough just firm enough to knead. Shape into loaves and put into buttered pans. Let rise until almost double. Bake about 50 minutes at 350\\u00b0. Makes 2 loaves. White flour will make the most \\\"addictive\\\" Anadama, but experiment with whole wheat, rye and other flours to make more healthful loaves.</p>\"}]",
"bread_type": 4,
"image": 2
}
},
{
"model": "breads.breadpage",
"pk": 35,
"fields": {
"origin": 4,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Anpan was first made in 1875, during the Meiji period, by a man called Yasubei Kimura, a samurai who lost his job with the rise of the conscript Imperial Army and the dissolution of the samurai as a social class. The Meiji era was a period in which Japan was becoming increasingly westernized, and many samurai who lost their jobs were given work that was totally new to them. The Western role of baker was one such job.</p><p>One day, while wandering around the area where many people employed in Western jobs worked, Kimura Yasubei found a young man making breads and an idea was born; the starting of the bakery named Bun'eid\\u014d (\\u6587\\u82f1\\u5802). In 1874, He moved to Ginza and renamed the bakery Kimuraya (\\u6728\\u6751\\u5c4b). At that time, however, the only recipe for bread known in Japan was for making a salty and sour-tasting bread, ill-suited to Japanese tastes at the time. Yasubei wanted to make a bread that was more to Japanese tastes. Finally, he figured out how to make bread in the way of the Japanese manju \\u2013 raising the dough with the traditional sakadane liquid yeast. He then filled the bread with a bean paste wagashi and sold anpan as snacks. Anpan was very popular, not only because of its taste, but also because the Japanese were interested in anything new and foreign at this time.</p><p>Later, a man called Yamaoka Tessh\\u016b, a chamberlain of the Meiji emperor, who loved anpan, asked the Tokugawas, the rulers of Japan before the Meiji Period, to present anpans to the emperor when visiting him. So the Tokugawas asked Yasubei to make some for the emperor. Yasubei worked hard to make the anpan and, because he also cared about their appearance, he decorated them with a salt-pickled sakura in the middle of each bun. This anpan was presented to the Meiji emperor on April 4, 1875. The Emperor told Yasubei to present him anpan every day, and because of the rumor that the Emperor ate anpan, the popularity of bread, and especially anpan, began spreading around the country.</p>\"}]",
"bread_type": 5,
"image": 3
}
},
{
"model": "breads.breadpage",
"pk": 36,
"fields": {
"origin": 5,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Appam is a type of pancake made with fermented rice batter and coconut milk. It is a common food in Kerala, Tamil Nadu and Sri Lanka. It is eaten most frequently for breakfast or dinner.</p><p>It is considered as a staple diet and a cultural synonym of the Nasranis (also known as Saint Thomas Christians or Syrian Christians) of Kerala. According to Gil Marks, each of the three separate Indian Jewish communities - Cochin, Mumbai, Calcutta - counts in its culinary repertoire grain dishes called appam</p><p>Vir Sanghvi, an Indian journalist, quotes food historian K. T. Achaya and states that the appam is mentioned in the Tamil Perumpanuru.[5][10][11] K. T. Achaya in the last published book of his lifetime states that Appam was well established in ancient Tamil country (comprising most parts of present-day South India), as per references in the Perumpanuru.[11] Appam first emerged in the southern tip of India, as per Gil Marks.</p><p>Plain Appam or Vella Appam are bowl-shaped thin pancakes made from fermented rice flour. They derive their shape from the small appachatti in which they are cooked. They are fairly neutral in taste and mostly served with some spicy condiment or curry. These hoppers are made from a batter using rice, yeast, salt and a little sugar. After the mixture has stood for a couple of hours, it can be fried in the appachatti with a little oil. In south-central Kerala, it is mostly served with kadala curry, mutton or vegetable stew or egg roast.</p>\"}]",
"bread_type": 6,
"image": 8
}
},
{
"model": "breads.breadpage",
"pk": 37,
"fields": {
"origin": 6,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Arepa (Spanish pronunciation: [a\\u02c8\\u027eepa]) is a type of food made of ground maize dough or cooked flour prominent in the cuisine of Colombia and Venezuela.[1][2]</p><p>It is eaten daily in those countries and can be served with accompaniments such as cheese (cuajada), avocado, or split to make sandwiches. Sizes, maize types, and added ingredients vary its preparation. Arepas can also be found in Panama, Puerto Rico, the Dominican Republic, Trinidad and Tobago and the Canary Islands.[3][better source needed] It is similar in shape to the Mexican gordita and the Salvadoran pupusa.</p><p>The arepa is a flat, round, unleavened patty of soaked, ground kernels of maize, or\\u2014more frequently nowadays\\u2014maize meal or maize flour that can be grilled, baked, fried, boiled or steamed. The characteristics vary by color, flavor, size, and the food with which it may be stuffed, depending on the region. It can be topped or filled with meat, eggs, tomatoes, salad, cheese, shrimp, or fish depending on the meal.</p><p>The flour is mixed with water and salt, and occasionally oil, butter, eggs, and/or milk. Because the flour is already cooked, the blend forms into patties easily. After being kneaded and formed, the patties are fried, grilled, or baked. This production of maize is unusual for not using the nixtamalization (alkali cooking process) to remove the pericarp of the kernels. This makes arepa flour different from masa flour, which is used to make tortillas.[4]</p><p>Arepa flour is specially prepared (cooked in water, then dried) for making arepas and other maize dough-based dishes, such as hallacas, bollos, tamales, empanadas and chicha. The flour may be called masarepa, masa de arepa, masa al instante, or harina precocida. The most popular brand names of maize flour are Harina PAN, Harina Juana, and Goya in Venezuela, Areparina in Colombia.</p>\"}]",
"bread_type": 7,
"image": 9
}
},
{
"model": "breads.breadpage",
"pk": 39,
"fields": {
"origin": 8,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>A bagel (Yiddish: \\u05d1\\u05f2\\u05d2\\u05dc\\u200e beygl; Polish: bajgiel), also spelled beigel,[1] is a bread product originating in the Jewish communities of Poland. It is traditionally shaped by hand into the form of a ring from yeasted wheat dough, roughly hand-sized, that is first boiled for a short time in water and then baked. The result is a dense, chewy, doughy interior with a browned and sometimes crisp exterior. Bagels are often topped with seeds baked on the outer crust, with the traditional ones being poppy, sunflower or sesame seeds. Some may have salt sprinkled on their surface, and there are different dough types, such as whole-grain or rye.[2][3]</p><p>Though the origins of bagels are somewhat obscure, it is known that they were widely consumed in eastern European Jewish communities from the 17th century. The first known mention of the bagel, in 1610, was in Jewish community ordinances in Krak\\u00f3w, Poland.<br/></p><p>Bagels are now a popular bread product in North America, especially in cities with a large Jewish population, many with ways of making them. Like other bakery products, bagels are available (fresh or frozen, often in many flavors) in many major supermarkets in those countries.</p><p>The basic roll-with-a-hole design is hundreds of years old and has other practical advantages besides providing for a more even cooking and baking of the dough: The hole could be used to thread string or dowels through groups of bagels, allowing for easier handling and transportation and more appealing seller displays.</p>\"}]",
"bread_type": 4,
"image": 13
}
},
{
"model": "breads.breadpage",
"pk": 40,
"fields": {
"origin": 9,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>A baguette (English pronunciation: /b\\u00e6\\u02c8\\u0261\\u025bt/; French pronunciation: \\u200b[ba\\u02c8\\u0261\\u025bt]) is a long, thin loaf of French bread[1] that is commonly made from basic lean dough (the dough, though not the shape, is defined by French law). It is distinguishable by its length and crisp crust.</p><p>A baguette has a diameter of about 5 or 6 centimetres (2 or 2\\u2153 in) and a usual length of about 65 centimetres (26 in), although a baguette can be up to a metre (39 in) long.</p><p>While a regular baguette is made with a direct addition of baker's yeast, it is not unusual for artisan-style loaves to be made with a pre-ferment or \\\"poolish\\\", \\\"biga\\\" or other bread pre-ferments to increase flavor complexity and other characteristics, as well as the addition of whole-wheat flour, or other grains such as rye.</p><p>Baguettes are closely connected to France, though they are made around the world. In France, not all long loaves are baguettes; for example, a short, almost rugby ball shaped loaf is a b\\u00e2tard (literally, bastard), or a \\\"torpedo loaf\\\" in English; its origin is variously explained, but undocumented. Another tubular shaped loaf is known as a fl\\u00fbte, also known in the United States as a parisienne. Fl\\u00fbtes closely resemble baguettes and weigh more or less than these, depending on the region.[citation needed] A thinner loaf is called a ficelle (string). A short baguette is sometimes known as a baton (stick), or even referred to using the English translation French stick. None of these are officially defined, either legally or, for instance, in major dictionaries, any more than the baguette. French breads are also made in forms such as a miche, which is a large pan loaf, and a boule, literally ball in French, a large round loaf. Sandwich-sized loaves are sometimes known as demi-baguettes or tiers. In France a baguette must weigh 250 grams (8.75 ounces), a batard 500 grams (17.5 ounces) and a ficelle 100 grams (3.5 ounces). Baguettes, either relatively short single-serving size or cut from a longer loaf, are very often used for sandwiches, usually of the submarine sandwich type, but also panini. They are often sliced and served with p\\u00e2t\\u00e9 or cheese. As part of the traditional continental breakfast in France, slices of baguette are spread with butter and jam and dunked in bowls of coffee or hot chocolate. In the United States, French bread loaves are sometimes split in half to make French bread pizza.</p><p>Baguettes are generally made as partially free-form loaves, with the loaf formed with a series of folding and rolling motions, raised in cloth-lined baskets or in rows on a flour-impregnated towel, called a couche, and baked either directly on the hearth of a deck oven or in special perforated pans designed to hold the shape of the baguette while allowing heat through the perforations. American-style \\\"French bread\\\" is generally much fatter and is not baked in deck ovens, but in convection ovens.</p><p>Outside France, baguettes are also made with other doughs. For example, the Vietnamese b\\u00e1nh m\\u00ec uses a high proportion of rice flour, while many North American bakeries make whole wheat, multigrain, and sourdough baguettes alongside French-style loaves. In addition, even classical French-style recipes vary from place to place, with some recipes adding small amounts of milk, butter, sugar, or malt extract, depending on the desired flavour and properties in the final loaf.</p>\"}]",
"bread_type": 4,
"image": 11
}
},
{
"model": "breads.breadpage",
"pk": 42,
"fields": {
"origin": 11,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Bammy or bami is a traditional Jamaican cassava flatbread descended from the simple flatbread eaten by the Arawaks, Jamaica's original inhabitants. Today, it is produced in many rural communities and sold in stores and by street vendors in Jamaica and abroad.</p><p>Bammies have been consumed since pre-Columbian times and is believed to have originated with the native Arawak people. For centuries, it was the bread staple for rural Jamaicans until the cheaper, imported wheat flour breads became popular in the post-World War II era.</p><p>In the 1990s, the United Nations and the Jamaican government established a program to revive bammy production and to market it as a modern, convenient food product.[1]</p><p>Bammy is made from bitter cassava (also called yuca and manioc in other American cultures). Traditionally, the cassava is grated and placed in a press bag (woven with thatch leaves) and placed in an outdoor press where heavy stones are loaded on. Once completely drained, but still a bit moist, the cassave is beaten in a mortar then sieved to a fine flour texture. Salt is then added to taste.</p><p>The actual baking of bammies varies across Jamaican communities. Traditionally, it is made by spreading a handful of the flour evenly in a baking ring on a flat iron or griddle on the open fire. While baking, the top of the bammy is patted with a flat board and then turned over. The baking process takes about 3 minutes and the final product is a thin, foldable bread about 10\\\" in diameter. This is similar to traditional tortillas of Native American cultures. It can then be eaten with whatever fillings are desired.</p><p>The more modern (and popular) approach is to bake thicker bammies about 6\\\" in diameter. These are often mass-produced in factories. When home-baked, the flour may be store-bought or made by hand-pressing. The bammy can be baked on griddles or in baking pans on a stove top. Some choose to bake it inside an oven, and to add butter and other spices before baking. Baking takes longer due to the thickness, and the final product is then cut into halves or wedges for freezing. When ready to eat, the wedges are soaked in coconut milk and then fried to a golden brown, and served with meat, fish, avocado, or other side dishes.</p><p>Bammies, like wheat bread and tortillas, are served at any meal or consumed as a snack.</p><p><br/></p>\"}]",
"bread_type": 2,
"image": 12
}
},
{
"model": "breads.breadpage",
"pk": 49,
"fields": {
"origin": 18,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Bazin (pronounced as \\\"buh-zeen\\\"), also referred to as bazeen (pronounced [ba\\u02d0\\u02c8zi\\u02d0n], is an unleavened bread in the cuisine of Libya prepared with barley, water and salt. Bazin is prepared by boiling barley flour in water and then beating it to create a dough using a magraf, which is a unique stick designed for this purpose. The dough may then be placed in a pan and allowed time to harden,[3] after which it is baked or steamed. The salt contributes to the hardness of the bazin. Bazin may have a paste-like and hardened texture.[b] It may also be prepared using whole wheat flour, olive oil and pepper as ingredients.</p><p>Bazeen is typically served with a tomato sauce, eggs, potatoes and mutton. This preparation method involves shaping the dough into the shape of a pyramid or dome, after which it may be served with a tomato-based soup or meat and potato stew poured atop and/or around it and garnished with hard-boiled eggs.A raw egg may also be placed in the hot soup.[3] Aseeda is a dish prepared using bazin, honey, date syrup and butter or oil.[3] Bazin may also be accompanied with a cooked pumpkin and tomato sauce mixture.[c]</p><p>When consumed, bazin may be \\\"crumpled and eaten with the fingers.\\\"[6] It is typically eaten using the right hand, and may be consumed communally. Bazin has been described as a traditional dish and as a national dish of Libya.</p>\"}]",
"bread_type": 11,
"image": 4
}
},
{
"model": "breads.breadpage",
"pk": 53,
"fields": {
"origin": 21,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Bhakri (Marathi: \\u092d\\u093e\\u0915\\u0930\\u0940 bh\\u0101kr\\u012b) is a round flat unleavened bread often used in the cuisine of the state of mainly Maharashtra, but also in Gujarat, Goa etc. in India but is also common in western and central India, especially in the states of Rajasthan, Malwa, Goa, and North Karnataka. It is coarser than a roti. It can be either soft or hard in texture, compared to a British biscuit with respect to hardness.[1]</p><p>Being a staple bread, bhakri is served with curd, chutney, baingan bharta, vegetables, and rice. It is made mostly from Wheat flour, jowar flour, bajra flour, nachni (or finger millet) flour,[2] and even rice flour (in the Konkan region). Bhakris are made primarily with hot water, and flour.[1] It has traditionally been the farmer's food[2] which would be carried to the farm at the crack of dawn and make up for both breakfast and lunch.</p><p>In the fields, bhakri even used to serve as a plate, on which chutney or thecha (chutney made of green chillies and peanuts) was served and eaten together. In modern days, bhakhri has been largely replaced by rotis and phulkas but still enjoys its own following. Typically bhakri is accompanied by pitla (a stew of gram flour)[2] but it may also be served with curry, garlic chutney, thecha (a thick paste of green or red chilies),[2] preparations of green leafy vegetables and raw onion. In some parts of north Karnataka it is served with stuffed brinjal curry.</p>\"}]",
"bread_type": 14,
"image": 6
}
},
{
"model": "breads.breadpage",
"pk": 57,
"fields": {
"origin": 12,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Rye bread is a type of bread made with various proportions of flour from rye grain. It can be light or dark in color, depending on the type of flour used and the addition of coloring agents, and is typically denser than bread made from wheat flour. It is higher in fiber than white bread and is often darker in color and stronger in flavor.</p><p>Dark rye bread was considered a staple through the Middle Ages. Many different types of rye grain have come from north-central and western and eastern Europe such as Scandinavia, Finland, Baltic countries, Poland, Russia, the Netherlands, Belgium, France and Germany. Around 500 AD, the Saxons and Danes settled in Britain and introduced rye, which was well suited to its temperate climates.</p><p>Pure rye bread contains only rye flour, without any wheat. German-style pumpernickel, a dark, dense, and close-textured loaf, is made from crushed or ground whole rye grains, usually without wheat flour, baked for long periods at low temperature in a covered tin. Rye and wheat flours are often used to produce a rye bread with a lighter texture, color and flavor than pumpernickel. \\\"Light\\\" or \\\"dark\\\" rye flour can be used to make rye bread; the flour is classified according to the amount of bran left in the flour after milling. Caramel or molasses for coloring and caraway seeds are often added to rye bread. In the United States, breads labeled as \\\"rye\\\" nearly always contain caraway unless explicitly labeled as \\\"unseeded.\\\" In Canada (especially Montreal), breads labeled as \\\"rye\\\" often have no seeds, whereas breads labeled as \\\"kimmel\\\" are usually rye with caraway seeds. Some unique rye bread recipes include ground spices such as fennel, coriander, aniseed, cardamom, or citrus peel. In addition to caramel and molasses, ingredients such as coffee, cocoa, or toasted bread crumbs are sometimes used for both color and flavor in very dark breads like pumpernickels.[5] The addition of caraway seeds to rye bread is to counter the bloating that can be caused by the high fiber content of rye. Caraway has well-known anti-flatulence properties; however, the association is so long-standing that the flavor combination is now almost inseparable.</p>\"}]",
"bread_type": 16,
"image": 7
}
},
{
"model": "breads.breadpage",
"pk": 59,
"fields": {
"origin": 24,
"description": "[{\"type\": \"paragraph\", \"value\": \"<p>Bolani (Persian: \\u0628\\u0648\\u0644\\u0627\\u0646\\u06cc\\u200e\\u200e), or Perakai (Pashto: \\u067e\\u064a\\u0631\\u0627\\u06a9\\u200e), Poraki (Persian: \\u067e\\u064f\\u0631\\u06a9\\u06cc\\u200e\\u200e), is a [1] flat-bread from Afghanistan, baked or fried with a vegetable filling. It has a thin crust and can be stuffed with a variety of ingredients, such as potatoes, lentils, pumpkin, chives, or leeks. It can be served with plain yogurt or mint yogurt.[2]</p><p>Perakai is made for special occasions like birthday parties, engagement parties or holidays.[3]</p><p>In America, the Perakai \\\" Bolani \\\" is the quintessential food item at any Kabob House. The variations are endless. Toppings typically include chives, potato, lentils, leeks and other vegetables. However, it is not limited to traditional toppings; items such as falafel, gyro meat, carne asada and bacon and all fair game. The dough is only limited to the imagination. While white flour is common, many enthusiasts prefer whole wheat or rye.</p>\"}]",
"bread_type": 2,
"image": 10
}
},
{
"model": "breads.breadsindexpage",
"pk": 3,
"fields": {}
}
]

Wyświetl plik

@ -0,0 +1,10 @@
[{
"model": "wagtailcore.collection",
"pk": 2,
"fields": {
"path": "00010001",
"depth": 2,
"numchild": 0,
"name": "Breads"
}
}]

Wyświetl plik

@ -0,0 +1,217 @@
[
{
"model": "wagtailimages.image",
"pk": 2,
"fields": {
"collection": 2,
"title": "Anadama",
"file": "original_images/Anadama_bread_1.jpg",
"width": 4752,
"height": 3168,
"created_at": "2017-02-10T13:03:58.541Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 3,
"fields": {
"collection": 2,
"title": "Anpan",
"file": "original_images/Bean-jam-bunanpankatori-cityjapan.JPG",
"width": 800,
"height": 640,
"created_at": "2017-02-10T13:05:45.828Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 4,
"fields": {
"collection": 2,
"title": "Bazin",
"file": "original_images/Bazin.jpg",
"width": 1600,
"height": 1200,
"created_at": "2017-02-10T13:08:04.012Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 5,
"fields": {
"collection": 2,
"title": "Belgian Waffle",
"file": "original_images/Belgische_waffeln.jpg",
"width": 2025,
"height": 1536,
"created_at": "2017-02-10T13:10:05.988Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 6,
"fields": {
"collection": 2,
"title": "Bhakri",
"file": "original_images/Another_Vegetarian_Meal.jpg",
"width": 1600,
"height": 1200,
"created_at": "2017-02-10T13:15:25.730Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 7,
"fields": {
"collection": 2,
"title": "Black Bread",
"file": "original_images/Mischbrot-1.jpg",
"width": 2000,
"height": 1500,
"created_at": "2017-02-10T13:17:14.968Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 8,
"fields": {
"collection": 2,
"title": "Appam",
"file": "original_images/Appam_served_with_Coconut_Milk_in_Tamil_Nadu.JPG",
"width": 2362,
"height": 1064,
"created_at": "2017-02-10T13:19:24.588Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 9,
"fields": {
"collection": 1,
"title": "Arepa",
"file": "original_images/Arepa_asada.JPG",
"width": 1600,
"height": 1200,
"created_at": "2017-02-10T13:22:40.113Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 10,
"fields": {
"collection": 2,
"title": "Bolani",
"file": "original_images/Bolani_Afghan_bread_01.jpg",
"width": 1280,
"height": 960,
"created_at": "2017-02-10T13:24:28.559Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 11,
"fields": {
"collection": 2,
"title": "Baguette",
"file": "original_images/Baguette_de_pain_WikiCheese_Lausanne.jpg",
"width": 4032,
"height": 1958,
"created_at": "2017-02-10T13:24:47.838Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 12,
"fields": {
"collection": 2,
"title": "Bammie",
"file": "original_images/Bammies.jpg",
"width": 1700,
"height": 1527,
"created_at": "2017-02-10T13:27:19.252Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
},
{
"model": "wagtailimages.image",
"pk": 13,
"fields": {
"collection": 1,
"title": "Bagel",
"file": "original_images/Plain-Bagel.jpg",
"width": 1920,
"height": 1660,
"created_at": "2017-02-10T13:28:30.500Z",
"uploaded_by_user": 1,
"focal_point_x": null,
"focal_point_y": null,
"focal_point_width": null,
"focal_point_height": null,
"file_size": null
}
}]

Wyświetl plik

@ -19,6 +19,8 @@ from wagtail.wagtailadmin.edit_handlers import (
from wagtail.wagtailsnippets.models import register_snippet
from .blocks import BaseStreamBlock
from wagtail.wagtailforms.models import AbstractEmailForm, AbstractFormField
from wagtail.contrib.modeladmin.options import (
ModelAdmin, ModelAdminGroup, modeladmin_register)
@register_snippet
@ -47,6 +49,15 @@ class People(ClusterableModel):
index.SearchField('last_name'),
]
@property
def thumb_image(self):
# fail silently if there is no profile pic or the rendition file can't
# be found. Note @richbrennan worked out how to do this...
try:
return self.image.get_rendition('fill-50x50').img_tag()
except:
return ''
def __str__(self):
return self.first_name + " " + self.last_name
@ -241,3 +252,21 @@ class FormPage(AbstractEmailForm):
FieldPanel('subject'),
], "Email"),
]
class PeopleModelAdmin(ModelAdmin):
model = People
menu_label = 'People' # ditch this to use verbose_name_plural from model
menu_icon = 'fa-people' # change as required
list_display = ('first_name', 'last_name', 'job_title', 'thumb_image')
class MyModelAdminGroup(ModelAdminGroup):
menu_label = 'WagtailBakery'
menu_icon = 'folder-open-inverse' # change as required
menu_order = 200 # will put in 3rd place (000 being 1st, 100 2nd)
items = (PeopleModelAdmin,)
# When using a ModelAdminGroup class to group several ModelAdmin classes together,
# you only need to register the ModelAdminGroup class with Wagtail:
modeladmin_register(MyModelAdminGroup)

Wyświetl plik

@ -1,19 +1,11 @@
from .base import *
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATES[0]['OPTIONS']['debug'] = True
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'CHANGEME!!!'
INTERNAL_IPS = ('127.0.0.1', '10.0.2.2')
BASE_URL = 'http://localhost:8000'
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
# BASE_URL required for notification emails
BASE_URL = 'http://localhost:8000'
try:
from .local import *

Wyświetl plik

@ -1,175 +0,0 @@
import os
import dj_database_url
from .base import *
# Do not set SECRET_KEY, Postgres or LDAP password or any other sensitive data here.
# Instead, use environment variables or create a local.py file on the server.
# Disable debug mode
DEBUG = False
TEMPLATES[0]['OPTIONS']['debug'] = False
# Configuration from environment variables
# Alternatively, you can set these in a local.py file on the server
env = os.environ.copy()
# On Torchbox servers, many environment variables are prefixed with "CFG_"
for key, value in os.environ.items():
if key.startswith('CFG_'):
env[key[4:]] = value
# Basic configuration
APP_NAME = env.get('APP_NAME', 'bakerydemo')
if 'SECRET_KEY' in env:
SECRET_KEY = env['SECRET_KEY']
if 'ALLOWED_HOSTS' in env:
ALLOWED_HOSTS = env['ALLOWED_HOSTS'].split(',')
if 'PRIMARY_HOST' in env:
BASE_URL = 'http://%s/' % env['PRIMARY_HOST']
if 'SERVER_EMAIL' in env:
SERVER_EMAIL = env['SERVER_EMAIL']
if 'CACHE_PURGE_URL' in env:
INSTALLED_APPS += ( 'wagtail.contrib.wagtailfrontendcache', )
WAGTAILFRONTENDCACHE = {
'default': {
'BACKEND': 'wagtail.contrib.wagtailfrontendcache.backends.HTTPBackend',
'LOCATION': env['CACHE_PURGE_URL'],
},
}
if 'STATIC_URL' in env:
STATIC_URL = env['STATIC_URL']
if 'STATIC_DIR' in env:
STATIC_ROOT = env['STATIC_DIR']
if 'MEDIA_URL' in env:
MEDIA_URL = env['MEDIA_URL']
if 'MEDIA_DIR' in env:
MEDIA_ROOT = env['MEDIA_DIR']
# Database
if 'DATABASE_URL' in os.environ:
DATABASES = {'default': dj_database_url.config()}
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': env.get('PGDATABASE', APP_NAME),
'CONN_MAX_AGE': 600, # number of seconds database connections should persist for
# User, host and port can be configured by the PGUSER, PGHOST and
# PGPORT environment variables (these get picked up by libpq).
}
}
# Elasticsearch
if 'ELASTICSEARCH_URL' in env:
WAGTAILSEARCH_BACKENDS = {
'default': {
'BACKEND': 'wagtail.wagtailsearch.backends.elasticsearch.ElasticSearch',
'URLS': [env['ELASTICSEARCH_URL']],
'INDEX': APP_NAME,
'ATOMIC_REBUILD': True,
},
}
# Logging
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
},
},
'formatters': {
'default': {
'verbose': '[%(asctime)s] (%(process)d/%(thread)d) %(name)s %(levelname)s: %(message)s'
}
},
'loggers': {
'bakerydemo': {
'handlers': [],
'level': 'INFO',
'propagate': False,
'formatter': 'verbose',
},
'wagtail': {
'handlers': [],
'level': 'INFO',
'propagate': False,
'formatter': 'verbose',
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
'formatter': 'verbose',
},
'django.security': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
'formatter': 'verbose',
},
},
}
if 'LOG_DIR' in env:
# bakerydemo log
LOGGING['handlers']['bakerydemo_file'] = {
'level': 'INFO',
'class': 'cloghandler.ConcurrentRotatingFileHandler',
'filename': os.path.join(env['LOG_DIR'], 'bakerydemo.log'),
'maxBytes': 5242880, # 5MB
'backupCount': 5
}
LOGGING['loggers']['wagtail']['handlers'].append('bakerydemo_file')
# Wagtail log
LOGGING['handlers']['wagtail_file'] = {
'level': 'INFO',
'class': 'cloghandler.ConcurrentRotatingFileHandler',
'filename': os.path.join(env['LOG_DIR'], 'wagtail.log'),
'maxBytes': 5242880, # 5MB
'backupCount': 5
}
LOGGING['loggers']['wagtail']['handlers'].append('wagtail_file')
# Error log
LOGGING['handlers']['errors_file'] = {
'level': 'ERROR',
'class': 'cloghandler.ConcurrentRotatingFileHandler',
'filename': os.path.join(env['LOG_DIR'], 'error.log'),
'maxBytes': 5242880, # 5MB
'backupCount': 5
}
LOGGING['loggers']['django.request']['handlers'].append('errors_file')
LOGGING['loggers']['django.security']['handlers'].append('errors_file')
try:
from .local import *
except ImportError:
pass

Wyświetl plik

@ -2,12 +2,12 @@
{% load wagtailimages_tags %}
{% block content %}
{{ page.title }}
{{ page.title }}
<div class="image">
{% image page.image width-500 as photo %}
<img src="{{ photo.url }}" width="{{ photo.width }}" height="{{ photo.height }}" alt="{{ photo.alt }}" />
</div>
</div>
{{ page.body }}
{% endblock content %}
{{ page.body }}
{% endblock content %}

Wyświetl plik

@ -10,4 +10,4 @@
</div>
{{ page.body }}
{% endblock content %}
{% endblock content %}

Wyświetl plik

@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load wagtailcore_tags %}
{% block content %}
{{ page.intro|richtext }}

Wyświetl plik

@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load wagtailcore_tags %}
{% block content %}
<h1>{{ page.title }}</h1>
{{ page.thank_you_text|richtext }}

Wyświetl plik

@ -1,15 +1,15 @@
{% if self.size == 'h2' %}
<h2>{{ self.heading_text }}</h2>
<h2>{{ self.heading_text }}</h2>
{% elif self.size == 'h3' %}
<h3>{{ self.heading_text }}</h3>
{% elif self.size == 'h3' %}
<h3>{{ self.heading_text }}</h3>
{% elif self.size == 'h4' %}
<h4>{{ self.heading_text }}</h4>
{% elif self.size == 'h4' %}
<h4>{{ self.heading_text }}</h4>
{% endif %}
{% comment %}
Content is coming from the StandardBlock StreamField
class within `blocks.py`
{% endcomment %}
Content is coming from the StandardBlock StreamField
class within `blocks.py`
{% endcomment %}

Wyświetl plik

@ -1,8 +1,6 @@
{% load wagtailimages_tags %}
<figure>
{% image self.image fill-600x600 %}
<figcaption>{{ self.caption }} - {{ self.attribution }}</figcaption>
{% image self.image fill-600x600 %}
<figcaption>{{ self.caption }} - {{ self.attribution }}</figcaption>
</figure>

Wyświetl plik

@ -1 +1 @@
{{ self }}
{{ self }}

Wyświetl plik

@ -3,7 +3,6 @@
{% block content %}
{{ page.title }}
{% for blog in blogs %}
<div>
<h2><a href="{{ blog.full_url }}">{{ blog.title }}</a></h2>

Wyświetl plik

@ -3,8 +3,7 @@
{% block content %}
{{ page.title }}
{% for bread in breads %}
<div><a href="{{ bread.slug }}">{{ bread.title }}</a></div>
{% endfor %}
{% endblock content %}
{% endblock content %}

Wyświetl plik

@ -4,7 +4,6 @@
{% block title %}Search{% if search_results %} results{% endif %}{% endblock %}
{% block content %}
<h1>
Search results{% if request.GET.query %} for “{{ request.GET.query }}”{% endif %}
</h1>

Wyświetl plik

@ -2,13 +2,10 @@
{% get_site_root as site_root %}
{% if calling_page|has_protocol_parent and calling_page.content_type.model == 'standardpage' %}
<div class="off-canvas position-left reveal-for-large bla" id="offCanvasLeft" data-off-canvas>
{% protocol_menu calling_page=calling_page %}
</div>
{% elif ancestor.has_children %}
<div class="off-canvas position-left reveal-for-large" id="offCanvasLeft" data-off-canvas>
<nav class="sidebar-nav">
<h3>In this section</h3>
@ -32,5 +29,4 @@
</ul>
</nav>
</div>
{% endif %}

Wyświetl plik

@ -1,7 +1,6 @@
{% load navigation_tags wagtailcore_tags %}
{% get_site_root as site_root %}
<div class="navigation-bar">
<ul id="main-menu">
{% for menuitem in menuitems %}

Wyświetl plik

@ -1,4 +1,5 @@
{% load navigation_tags wagtailcore_tags %}
<ul class="submenu">
{% for child in menuitems_children %}
<li><a href="{% pageurl child %}">{{ child.title }}</a></li>