├── .gitignore ├── README.md ├── _config.yml ├── foods.json ├── index.html └── web ├── favicon.ico ├── main.js └── style.css /.gitignore: -------------------------------------------------------------------------------- 1 | .venv/ 2 | .idea/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # What the cook 2 | 3 | a repository for everyone who wants to know what to cook. 4 | 5 | ## Description 6 | 7 | My homies and I always had this issue of what we were going to eat for lunch. Many moms also had this issue of what to cook for dinner. so I decided to create a list of all Persian foods in different categories. 8 | 9 | You can find the hosted page [here](https://codewithemad.github.io/what-the-cook/) 10 | 11 | ## Contribute 12 | 13 | If you have any suggestions or want to contribute to this list, please feel free to make a pull request. 14 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-cayman -------------------------------------------------------------------------------- /foods.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "category": "آش", 4 | "content": { 5 | "0": "آش رشته", 6 | "1": "آش کشک ( و آش کشک خوزستانی)", 7 | "2": "آش ماست", 8 | "3": "آش غوره", 9 | "4": "آش گندم", 10 | "5": "آش بلغور", 11 | "6": "آش قلمکار ( و قلمکار شیرازی)", 12 | "7": "آش گوجه", 13 | "8": "آش آلوچه", 14 | "9": "آش انار", 15 | "10": "آش اسفناج", 16 | "11": "آش ترشی شمالی", 17 | "12": "آش بادمجان", 18 | "13": "آش اماج", 19 | "14": "آش دندانی", 20 | "15": "آش کارده شیرازی", 21 | "16": "آش ترخینه یا سیرابی", 22 | "17": "آش دوغ آذربایجانی ( و آش دوغ لری)", 23 | "18": "آش مصفی شهرکردی", 24 | "19": "آش آخورک کازرونی" 25 | } 26 | }, 27 | { 28 | "category": "آبگوشت", 29 | "content": { 30 | "0": "آبگوشت رسمی", 31 | "1": "آبگوشت باغی", 32 | "2": "آبگوشت بزقرمه", 33 | "3": "آبگوشت قنبید", 34 | "4": "آبگوشت بزباش", 35 | "5": "آبگوشت غوره", 36 | "6": "آبگوشت کرمانی", 37 | "7": "آبگوشت دیزی", 38 | "8": "آبگوشت ماش و قمری", 39 | "9": "آبگوشت گوشت و نخود اصفهانی" 40 | } 41 | }, 42 | { 43 | "category": "اشکنه", 44 | "content": { 45 | "0": "اشکنه با دانه انار خشک یا ترشی انار", 46 | "1": "اشکنه با ماست", 47 | "2": "اشکنه باقالا عربی", 48 | "3": "اشکنه قارچ شهرکردی", 49 | "4": "اشکنه با آرد شهرکردی", 50 | "5": "گوجه", 51 | "6": "گردو", 52 | "7": "آلبالو", 53 | "8": "زرشک", 54 | "9": "کاله جوش" 55 | } 56 | }, 57 | { 58 | "category": "کباب", 59 | "content": { 60 | "0": "کباب کوبیده", 61 | "1": "کباب برگ", 62 | "2": "کباب بختیاری", 63 | "3": "کباب وزیری", 64 | "4": "کباب سلطانی", 65 | "5": "کباب ترش", 66 | "6": "کباب چنجه", 67 | "7": "کباب قفقازی", 68 | "8": "کباب شیشلیک", 69 | "9": "جوجه کباب", 70 | "10": "کباب کوبیده مرغ", 71 | "11": "کباب ماهی تابه ای", 72 | "12": "کباب ماهی صبور", 73 | "13": "کباب فیله کبابی ماهی", 74 | "14": "میگو کبابی", 75 | "15": "کباب ماهی قزل آلا", 76 | "16": "کباب ماهی اوزون برون", 77 | "17": "کباب حسینی اصفهانی", 78 | "18": "کباب جگرورز لری", 79 | "19": "کباب دل و قلوه کبابی" 80 | } 81 | }, 82 | { 83 | "category": "کوفته", 84 | "content": { 85 | "0": "کوفته تبریزی", 86 | "1": "کوفته سبزی شیرازی", 87 | "2": "کوفته کپه عربی", 88 | "3": "کوفته حشیشنه کنگانی", 89 | "4": "کوفته بلغور شهرکردی", 90 | "5": "کوفته برنجی", 91 | "6": "کوفته ماهی", 92 | "7": "کوفته هویج", 93 | "8": "کوفته ریزه یا قلقلی", 94 | "9": "کوفته شیرین کرمانشاهی" 95 | } 96 | }, 97 | { 98 | "category": "دلمه", 99 | "content": { 100 | "0": "دلمه برگ مو ", 101 | "1": "کلم پیچ", 102 | "2": "مرغ", 103 | "3": "بادمجان", 104 | "4": "پیاز", 105 | "5": "سویا", 106 | "6": "سیب زمینی", 107 | "7": "گوجه", 108 | "8": "کدو سبز", 109 | "9": "بادمجان و کشمش", 110 | "10": "حصیری", 111 | "11": "فلفل دلمه شکم پر", 112 | "12": "بادمجان بقچه ای", 113 | "13": "قارچ و مرغ", 114 | "14": "نخود و سبزیجات" 115 | } 116 | }, 117 | { 118 | "category": "کتلت و شامی", 119 | "content": { 120 | "0": "کتلت گوشت", 121 | "1": "کتلت مرغ", 122 | "2": "کتلت گوشت و جعفری", 123 | "3": "کتلت گوشت و آرد سوخاری", 124 | "4": "کتلت ماهی با جعفری", 125 | "5": "کتلت ماهی سالمون و سیب زمینی", 126 | "6": "کتلت قارچ و اسفناج", 127 | "7": "کتلت عدس", 128 | "8": "کتلت نخود", 129 | "9": "کتلت ذرت و گشنیز", 130 | "10": "شامی پوک", 131 | "11": "شامی سبزی", 132 | "12": "شامی مربا", 133 | "13": "شامی ماهی کیلکا", 134 | "14": "شامی آرد نخودچی", 135 | "15": "شامی مرغ", 136 | "16": "شامی سویا", 137 | "17": "ترشه شامی گیلانی", 138 | "18": "شامی بادمجان", 139 | "19": "شامی بابلی" 140 | } 141 | }, 142 | { 143 | "category": "کوکو", 144 | "content": { 145 | "0": "کوکو بادمجان", 146 | "1": "کوکو سبزی", 147 | "2": "کوکو مرغ و قارچ", 148 | "3": "کوکو سیب زمینی", 149 | "4": "کوکو کدو سبز", 150 | "5": "کوکو گوشت", 151 | "6": "کوکو دو رنگ", 152 | "7": "کوکو سه رنگ", 153 | "8": "کوکو تره فرنگی", 154 | "9": "کوکو لوبیا سبز", 155 | "10": "کوکو نخود فرنگی", 156 | "11": "کوکو زردک", 157 | "12": "کوکو باقالا", 158 | "13": "کوکو مرغ و فلفل دلمه ای", 159 | "14": "کوکو اسفناج", 160 | "15": "کوکو مرغ و نخود فرنگی", 161 | "16": "کوکو عدس", 162 | "17": "کوکو گردو", 163 | "18": "کوکو کدو و ریحان", 164 | "19": "مافین و فلفل دلمه ای", 165 | "20": "کوکو نخود فرنگی و کالباس" 166 | } 167 | }, 168 | { 169 | "category": "خوراک ایرانی", 170 | "content": { 171 | "0": "کوکو بادمجان", 172 | "1": "کوکو سبزی", 173 | "2": "کوکو مرغ و قارچ", 174 | "3": "کوکو سیب زمینی", 175 | "4": "کوکو کدو سبز", 176 | "5": "کوکو گوشت", 177 | "6": "کوکو دو رنگ", 178 | "7": "کوکو سه رنگ", 179 | "8": "کوکو تره فرنگی", 180 | "9": "کوکو لوبیا سبز", 181 | "10": "کوکو نخود فرنگی", 182 | "11": "کوکو زردک", 183 | "12": "کوکو باقالا", 184 | "13": "کوکو مرغ و فلفل دلمه ای", 185 | "14": "کوکو اسفناج", 186 | "15": "کوکو مرغ و نخود فرنگی", 187 | "16": "کوکو عدس", 188 | "17": "کوکو گردو", 189 | "18": "کوکو کدو و ریحان", 190 | "19": "مافین و فلفل دلمه ای", 191 | "20": "کوکو نخود فرنگی و کالباس" 192 | } 193 | }, 194 | { 195 | "category": "خوراک ماهی", 196 | "content": { 197 | "0": "ماهی شکم پر", 198 | "1": "ماهی کیلکا", 199 | "2": "سور با هر نوع ماهی شهر کنگان", 200 | "3": "ماهی سوخاری", 201 | "4": "ماهی شکم پر کنگانی", 202 | "5": "ودام ماهی کنگانی", 203 | "6": "ماهی صُبور شکم پاره", 204 | "7": "ماهی خار و حشو خوزستانی", 205 | "8": "ماهی دودی", 206 | "9": "ماهی بخارپز" 207 | } 208 | }, 209 | { 210 | "category": "خوراک مرغ", 211 | "content": { 212 | "0": "خوراک مرغ و قارچ", 213 | "1": "خوراک مرغ شکم پاره شیرازی", 214 | "2": "خوراک مرغ شکم پاره با سبزیجات", 215 | "3": "خوراک مرغ سوخاری", 216 | "4": "خوراک سوفله بال مرغ", 217 | "5": "خوراک قطاب مرغ", 218 | "6": "خوراک فیله مرغ پفکی", 219 | "7": "خوراک مرغ آب پز", 220 | "8": "خوراک مرغ سرخ کرده", 221 | "9": "خوراک مرغ" 222 | } 223 | }, 224 | { 225 | "category": "چلو و پلو", 226 | "content": { 227 | "0": "زرشک پلو", 228 | "1": "آلبالو پلو", 229 | "2": "پلو کنگر", 230 | "3": "پلو گوشت ترکی", 231 | "4": "رشته پلو", 232 | "5": "پلو لوبیا چشم بلبلی", 233 | "6": "عدس پلو", 234 | "7": "خرما پلو", 235 | "8": "هویج پلو", 236 | "9": "سبزی پلو", 237 | "10": "شوید پلو", 238 | "11": "کلم پلو و کلم پلوی شیرازی", 239 | "12": "ته چین مرغ", 240 | "13": "شیرین پلو", 241 | "14": "میگو پلو", 242 | "15": "لوبیا پلو", 243 | "16": "ماش پلو نورآبادی", 244 | "17": "باقالی پلو", 245 | "18": "پلو استانبولی", 246 | "19": "پلو همدانی", 247 | "20": "سیب زمینی پلو شیرازی", 248 | "21": "ته چین اسفناج", 249 | "22": "دمپختک شیراز", 250 | "23": "مرصع پلو", 251 | "24": "دمپختک ماهی کازرونی", 252 | "25": "خلال پلو کرمانشاهی", 253 | "26": "قمری پلوی شیرازی", 254 | "27": "هشوش عربی", 255 | "28": "پلو بندری", 256 | "29": "قیسی پلو" 257 | } 258 | }, 259 | { 260 | "category": "خورش", 261 | "content": { 262 | "0": "قیمه سیب زمینی ", 263 | "1": "خورشت قورمه سبزی", 264 | "2": "خورشت بادمجان", 265 | "3": "خورشت فسنجان با گوشت یا مرغ", 266 | "4": "خورشت کرفس", 267 | "5": "خورشت آلو", 268 | "6": "خورشت کنگر", 269 | "7": "خورشت به", 270 | "8": "خورشت سیب ترش شیرازی", 271 | "9": "خورشت بامیه", 272 | "10": "خورشت اسفناج", 273 | "11": "خورشت ریواس", 274 | "12": "خورشت گیلانی", 275 | "13": "خورشت قیمه آذربایجانی", 276 | "14": "خورشت کدو", 277 | "15": "میرزا قاسمی", 278 | "16": "خورشت آجیلی عشایر بختیاری", 279 | "17": "خورشت بریان بِهی کُردی", 280 | "18": "جغول بغول شمالی", 281 | "19": "خورشت چاقالا بادام شمالی", 282 | "20": "کدو تنبل با ماش شیرازی", 283 | "21": "خورشت کاری با مرغ", 284 | "22": "خورشت مسما بادمجان", 285 | "23": "خورشت قارچ", 286 | "24": "خورشت قیمه ریزه با رب انار" 287 | } 288 | } 289 | ] 290 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | چی بپزم | وقتی نمی‌دونی چی بپزی 10 | 11 | 12 |
13 | Fork me on Github 14 |
15 |

چی بپزم؟

16 | 17 |
18 | غذای رندوم 19 | لیست غذاها 20 |
21 | 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /web/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CodeWithEmad/what-the-cook/c9d7fadc52ab8e5e2364b05ac8dc4160acebefed/web/favicon.ico -------------------------------------------------------------------------------- /web/main.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', function () { 2 | let Gdata; 3 | let main = document.getElementById("main"); 4 | // read foods.json file and get the list of foods 5 | let food_json = "https://raw.githubusercontent.com/CodeWithEmad/ChiBepazam/master/foods.json"; 6 | fetch(food_json).then(function (response) { 7 | return response.json(); 8 | }).then(function (data) { 9 | Gdata = data; 10 | }); 11 | document.getElementById("random").addEventListener("click", function (e) { 12 | e.preventDefault(); 13 | // remove class main-list form main if exist 14 | if (main.classList.contains("main-list")) { 15 | main.classList.remove("main-list"); 16 | } 17 | // get a random food from the list 18 | let randomCategory = Math.floor(Math.random() * Gdata.length); 19 | let category = Gdata[randomCategory]; 20 | let randomFood = Math.floor(Math.random() * Object.keys(category['content']).length); 21 | let textCategory = "دسته‌بندی:" + " " + category['category']; 22 | let textFood = "غذا:" + " " + category['content'][randomFood]; 23 | 24 | // add random food to the page 25 | // if main has no child nodes, add a new div else change inner html 26 | 27 | main.innerHTML = ""; 28 | let card = document.createElement("div"); 29 | card.className = "card"; 30 | let cardBody = document.createElement("div"); 31 | cardBody.className = "card-body"; 32 | let cardTitle = document.createElement("div"); 33 | cardTitle.className = "card-title"; 34 | cardTitle.innerHTML = textCategory; 35 | let cardText = document.createElement("div"); 36 | cardText.className = "card-text"; 37 | cardText.innerHTML = textFood; 38 | card.appendChild(cardTitle); 39 | card.appendChild(cardText); 40 | main.appendChild(card); 41 | 42 | }); 43 | 44 | document.getElementById("list").addEventListener("click", function (e) { 45 | e.preventDefault(); 46 | // add class main-list form main if not exist 47 | if (!main.classList.contains("main-list")) { 48 | main.classList.add("main-list"); 49 | } 50 | // show list of foods separated by category 51 | main.innerHTML = ""; 52 | for (let i = 0; i < Gdata.length; i++) { 53 | let card = document.createElement("div"); 54 | card.className = "card"; 55 | let cardBody = document.createElement("div"); 56 | cardBody.className = "card-body"; 57 | let cardTitle = document.createElement("div"); 58 | cardTitle.className = "card-title"; 59 | cardTitle.innerHTML = Gdata[i]['category']; 60 | let cardText = document.createElement("div"); 61 | cardText.className = "card-text"; 62 | let ul = document.createElement("ul"); 63 | for (let j = 0; j < Object.keys(Gdata[i]['content']).length; j++) { 64 | let li = document.createElement("li"); 65 | li.innerHTML = Gdata[i]['content'][j]; 66 | ul.appendChild(li); 67 | } 68 | cardText.appendChild(ul); 69 | card.appendChild(cardTitle); 70 | card.appendChild(cardText); 71 | main.appendChild(card); 72 | } 73 | }); 74 | } 75 | ); -------------------------------------------------------------------------------- /web/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Lalezar&display=swap'); 2 | 3 | * { 4 | box-sizing: border-box; 5 | } 6 | 7 | body { 8 | background-color: #2a2a72; 9 | color: #fff; 10 | font-family: 'Lalezar', cursive; 11 | display: flex; 12 | flex-direction: column; 13 | align-items: center; 14 | justify-content: center; 15 | height: 100vh; 16 | overflow: hidden; 17 | margin: 0; 18 | } 19 | 20 | .buttons a { 21 | text-align: center; 22 | text-decoration: none; 23 | display: inline; 24 | background-color: #4c2885; 25 | border: none; 26 | border-radius: 10px; 27 | color: #fff; 28 | padding: 1rem; 29 | padding-left: 4rem; 30 | padding-right: 4rem; 31 | margin: 1rem; 32 | font-family: inherit; 33 | font-size: 1rem; 34 | box-shadow: 0 5px 10px rgba(154, 160, 185, 0.05), 35 | 0 15px 40px rgba(0, 0, 0, 0.1); 36 | } 37 | 38 | .buttons { 39 | margin-bottom: 3rem; 40 | } 41 | 42 | .card { 43 | text-align: center; 44 | max-width: 800px; 45 | background-color: #4c2885; 46 | border-radius: 20px; 47 | box-shadow: 0 5px 10px rgba(154, 160, 185, 0.05), 48 | 0 15px 40px rgba(0, 0, 0, 0.1); 49 | padding: 2rem; 50 | margin: 4rem auto;; 51 | } 52 | 53 | .card-title { 54 | display: block; 55 | font-size: 1.5rem; 56 | font-weight: bold; 57 | margin: 0; 58 | } 59 | 60 | .card-text { 61 | display: block; 62 | font-size: 1.3rem; 63 | margin: 0; 64 | } 65 | 66 | .text-center { 67 | text-align: center; 68 | } 69 | 70 | .font-large { 71 | font-size: 4rem; 72 | } 73 | 74 | .mb-3 { 75 | margin-bottom: 5rem; 76 | } 77 | 78 | 79 | .forkme { 80 | transform: rotate(45deg); 81 | background-color: #FFF; 82 | overflow: hidden; 83 | position: fixed; 84 | z-index: 300; 85 | width: 240px; 86 | right: -60px; 87 | top: 46px; 88 | border-style: solid; 89 | border-color: #7B7979; 90 | } 91 | 92 | .forkme a { 93 | color: #404040; 94 | display: block; 95 | font: 13px Helvetica Neue, Arial, sans-serif; 96 | margin: 0.05em 0px 0.075em; 97 | padding: 0.6em; 98 | text-align: center; 99 | text-decoration: none; 100 | } 101 | 102 | .main-list { 103 | overflow: auto; 104 | margin-bottom: 3rem; 105 | width: 100%; 106 | } 107 | 108 | .main-list ul { 109 | padding-left: 0; 110 | list-style: none; 111 | } 112 | 113 | .main-list ul li { 114 | margin: 0.5rem; 115 | } 116 | 117 | @media (max-width: 500px) { 118 | 119 | .buttons a { 120 | display: block; 121 | } 122 | 123 | .main-list { 124 | width: 90%; 125 | } 126 | } --------------------------------------------------------------------------------