mirror of
				https://github.com/cse110-fa22-group29/cse110-fa22-group29.git
				synced 2025-10-31 03:46:50 +00:00 
			
		
		
		
	Merge pull request #78 from cse110-fa22-group29/sprint-2-homepage-integration
Sprint 2 homepage integration
This commit is contained in:
		| @@ -1,2 +1,5 @@ | |||||||
| # cse110-fa22-group29 | # cse110-fa22-group29 | ||||||
|  |  | ||||||
| [Team Page Link](https://github.com/cse110-fa22-group29/cse110-fa22-group29/blob/main/admin/team.md) | [Team Page Link](https://github.com/cse110-fa22-group29/cse110-fa22-group29/blob/main/admin/team.md) | ||||||
|  |  | ||||||
|  | [Food Journal](https://cse110-fa22-group29.github.io/cse110-fa22-group29/) | ||||||
| @@ -31,6 +31,9 @@ So far the features listed below have been completed to some degree: | |||||||
| - Linting (JS) | - Linting (JS) | ||||||
| 	- Implemented: ction triggers on any PR, uses eslint to perform style enforcement on all JS components | 	- Implemented: ction triggers on any PR, uses eslint to perform style enforcement on all JS components | ||||||
| 	- ToDo: trigger workflow only on certain PRs which relate to JS code | 	- ToDo: trigger workflow only on certain PRs which relate to JS code | ||||||
|  | - Linting (HTML) | ||||||
|  | 	- Implemented: action triggers on any PR, uses HTMLhint to perform style enforcement on all HTML components | ||||||
|  | - Linting (CSS) | ||||||
|  | 	- Implemented: action triggers on any PR, uses Stylelint to perform style enforcement on all CSS components | ||||||
|  |  | ||||||
| ## Planned Features and Timeline | ## Planned Features and Timeline | ||||||
							
								
								
									
										47
									
								
								admin/meetings/111722-sprint2meeting1.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								admin/meetings/111722-sprint2meeting1.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  | # Meeting Minutes (11/07/2022) | ||||||
|  | ## Team 29: Hackers1995 | ||||||
|  | ## Meeting Topic: First Sprint | ||||||
|  | Meeting notes for the first sprint | ||||||
|  |  | ||||||
|  | ## Attendance | ||||||
|  | 1. Rhea Bhutada | ||||||
|  | 2. George Dubinin | ||||||
|  | 3. Gavyn Ezell | ||||||
|  | 4. Henry Feng | ||||||
|  | 5. Kara Hoagland | ||||||
|  | 6. Marc Reta | ||||||
|  | 7. Sanjit Joseph | ||||||
|  | 8. Daniel Hernandez | ||||||
|  | 9. Arthur Lu | ||||||
|  | 10. Isaac Otero | ||||||
|  |  | ||||||
|  | ## Meeting Details | ||||||
|  | - When: 11/17/2022 at 11:30PM | ||||||
|  | - Where: Design & Innovation Building | ||||||
|  |  | ||||||
|  | ## Agenda: | ||||||
|  | - ### Old/Unresolved Business | ||||||
|  |   - N/A | ||||||
|  | - ### New Business | ||||||
|  |   - Second sprint commences! | ||||||
|  |   - Focus on design progress for the project showoff | ||||||
|  |   - Cuisine vs Tag identifiers for reviews (both?) | ||||||
|  |     - localStorage will hold: | ||||||
|  |       -  list of active IDs which is updated for very create operation. An ID uniquely identifies a review | ||||||
|  |       -  value, "nextId" denoting the index of the next available slot for an Id | ||||||
|  |       -  entries for every single review (javascript object) | ||||||
|  |       -  a list for every tag that denotes which Ids belong to reviews containing this tag | ||||||
|  |  | ||||||
|  |     End2end tests will rely on specific html element names which include the following: | ||||||
|  |       - "create-btn" (located on homepage and used to create a new review) | ||||||
|  |       - "submit-btn" (located on form and used to post review) | ||||||
|  |       - "update-btn" (located on a specific review page) | ||||||
|  |       - "delete-btn" (located on a specific review page) | ||||||
|  |       - "tag-add-btn" (located on the review create form) | ||||||
|  | - ### Next Meeting's Business | ||||||
|  |  | ||||||
|  | ## Decisions Made | ||||||
|  | -  | ||||||
|  |  | ||||||
|  | ## End Time | ||||||
|  | - 11/17/2022 at 1:00PM | ||||||
							
								
								
									
										36
									
								
								admin/meetings/112022-sprint2meeting3.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								admin/meetings/112022-sprint2meeting3.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | # Meeting Minutes (11/20/2022) | ||||||
|  | ## Team 29: Hackers1995 | ||||||
|  | ## Meeting Topic: Second Sprint Meeting 3 | ||||||
|  | <what are we working on today> | ||||||
|  |  | ||||||
|  | ## Attendance | ||||||
|  | 1. Rhea Bhutada | ||||||
|  | 2. George Dubinin | ||||||
|  | 3. Gavyn Ezell | ||||||
|  | 4. Henry Feng | ||||||
|  | 5. Kara Hoagland | ||||||
|  | 6. Marc Reta | ||||||
|  | 7. Sanjit Joseph | ||||||
|  | 8. Daniel Hernandez | ||||||
|  | 9. Arthur Lu | ||||||
|  | 10. Isaac Otero | ||||||
|  |  | ||||||
|  | ## Meeting Details | ||||||
|  | - When: 11/20/2022 at 1:00PM | ||||||
|  | - Where: CSE Building Second Floor | ||||||
|  |  | ||||||
|  | ## Agenda: | ||||||
|  | - ### Old/Unresolved Business | ||||||
|  |   - N/A | ||||||
|  | - ### New Business | ||||||
|  |   - Planning for the Agile Steam Status Video | ||||||
|  |     - *Present the status of your software* | ||||||
|  |     - *Description of current challenges to development* | ||||||
|  |     - *Preview of the next sprint and what to look forward to* | ||||||
|  | - ### Next Meeting's Business | ||||||
|  |  | ||||||
|  | ## Decisions Made | ||||||
|  | -  | ||||||
|  |  | ||||||
|  | ## End Time | ||||||
|  | - 11/20/2022 at 3:00PM | ||||||
| @@ -14,13 +14,29 @@ | |||||||
|   <!-- Main Stylesheets & Scripts --> |   <!-- Main Stylesheets & Scripts --> | ||||||
|   <!-- Temporarily commented out reset.css due to furthur discussion needed on the values of the default config--> |   <!-- Temporarily commented out reset.css due to furthur discussion needed on the values of the default config--> | ||||||
|   <!-- <link rel="stylesheet" href="/static/reset.css" /> --> |   <!-- <link rel="stylesheet" href="/static/reset.css" /> --> | ||||||
|   <link rel="stylesheet" href="./static/ReviewCard.css" /> |   <link rel="stylesheet" href="./static/CreatePage.css" /> | ||||||
|  |   <link rel="icon" href="./assets/images/icons/favicon.ico"> | ||||||
|   <script src="./assets/scripts/CreatePage.js" type="module"></script> |   <script src="./assets/scripts/CreatePage.js" type="module"></script> | ||||||
|  |  | ||||||
| </head> | </head> | ||||||
|  |  | ||||||
| <body> | <body> | ||||||
|   <input type="button" value="Home" id="home-btn" onclick="window.location.assign('./index.html')"> |   <input type="button" value="Home" id="home-btn" onclick="window.location.assign('./index.html')"> | ||||||
|  |   <div class ="Top-Bar"> | ||||||
|  |     <img src ="./assets/images/icons/Logo.png" alt="logo" /> | ||||||
|  |     <h1> Food Journal </h1> | ||||||
|  |     <!-- | ||||||
|  |     <form id="form"> | ||||||
|  |         <input type='search' id="seaching" name="searchBar" placeholder="Search journal..."> | ||||||
|  |         <button class="click" type="search"> | ||||||
|  |             Search | ||||||
|  |         </button> | ||||||
|  |     </form> | ||||||
|  |     ---> | ||||||
|  | </div> | ||||||
|  |   <div class="journal-form"> | ||||||
|  |     <h1>New Entry </h1> | ||||||
|  |  | ||||||
|     <form id="new-food-entry"> |     <form id="new-food-entry"> | ||||||
|       <fieldset> |       <fieldset> | ||||||
|         <legend>Pic:</legend> |         <legend>Pic:</legend> | ||||||
| @@ -34,7 +50,6 @@ | |||||||
|         </label> |         </label> | ||||||
|       </fieldset> |       </fieldset> | ||||||
|       <fieldset> |       <fieldset> | ||||||
|  |  | ||||||
|         <legend> Meal: </legend> |         <legend> Meal: </legend> | ||||||
|         <label for="Meal: ">Meal: |         <label for="Meal: ">Meal: | ||||||
|           <input type="text" id="mealName" name="mealName" required> |           <input type="text" id="mealName" name="mealName" required> | ||||||
| @@ -44,7 +59,6 @@ | |||||||
|           <textarea name="comments" id="comments"></textarea> |           <textarea name="comments" id="comments"></textarea> | ||||||
|         </label> |         </label> | ||||||
|       </fieldset> |       </fieldset> | ||||||
|  |  | ||||||
|     <fieldset class="rating"> |     <fieldset class="rating"> | ||||||
|       <legend> Rating: </legend> |       <legend> Rating: </legend> | ||||||
|       <input type="radio" id="s5" name="rating" value="5"/> <label for="s5" id="s5-select"> 5 stars </label> |       <input type="radio" id="s5" name="rating" value="5"/> <label for="s5" id="s5-select"> 5 stars </label> | ||||||
| @@ -64,14 +78,15 @@ | |||||||
|           Tags: |           Tags: | ||||||
|           <input type="text" id="tag-form" name="tag-form"> |           <input type="text" id="tag-form" name="tag-form"> | ||||||
|           <div class='tag-container' id="tag-container-form"> |           <div class='tag-container' id="tag-container-form"> | ||||||
|  |  | ||||||
|         </div> |         </div> | ||||||
|         <button type="button" id="tag-add-btn">Add Tag</button> |         <button type="button" id="tag-add-btn">Add Tag</button> | ||||||
|       </label> |       </label> | ||||||
|  |  | ||||||
|  |  | ||||||
|       </fieldset> |       </fieldset> | ||||||
|       <button type="submit" id="save-btn" value="Submit">Save Review</button> |       <button type="submit" id="save-btn" value="Submit">Save Review</button> | ||||||
|     </form> |     </form> | ||||||
|  |   </div>  | ||||||
| </body> | </body> | ||||||
|  |  | ||||||
| </html> | </html> | ||||||
							
								
								
									
										
											BIN
										
									
								
								source/assets/images/icons/Grouppink.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								source/assets/images/icons/Grouppink.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								source/assets/images/icons/Logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								source/assets/images/icons/Logo.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 13 KiB | 
							
								
								
									
										
											BIN
										
									
								
								source/assets/images/icons/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								source/assets/images/icons/favicon.ico
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 16 KiB | 
| @@ -18,12 +18,12 @@ function init() { | |||||||
|  * @param {Array<Object>} reviews An array of reviews |  * @param {Array<Object>} reviews An array of reviews | ||||||
|  */ |  */ | ||||||
| function addReviewsToDocument(reviews) { | function addReviewsToDocument(reviews) { | ||||||
| 	let mainEl = document.querySelector("main"); | 	let box = document.getElementById("review-container"); | ||||||
| 	reviews.forEach(review => { | 	reviews.forEach(review => { | ||||||
| 		let newReview = document.createElement("review-card"); | 		let newReview = document.createElement("review-card"); | ||||||
| 		newReview.data = review; | 		newReview.data = review; | ||||||
| 		//TODO: want to append it to whatever the box is in layout  | 		//TODO: want to append it to whatever the box is in layout  | ||||||
| 		mainEl.append(newReview); | 		box.append(newReview); | ||||||
| 	}); | 	}); | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -14,14 +14,39 @@ | |||||||
|   <!-- Main Stylesheets & Scripts -->  |   <!-- Main Stylesheets & Scripts -->  | ||||||
|   <!-- Temporarily commented out reset.css due to furthur discussion needed on the values of the default config--> |   <!-- Temporarily commented out reset.css due to furthur discussion needed on the values of the default config--> | ||||||
|   <!-- <link rel="stylesheet" href="/static/reset.css" /> --> |   <!-- <link rel="stylesheet" href="/static/reset.css" /> --> | ||||||
|   <link rel="stylesheet" href="./static/ReviewCard.css" /> |   <link rel="stylesheet" href="./static/homepage.css" /> | ||||||
|   <script src="assets/scripts/main.js" type="module"></script> |   <script src="assets/scripts/main.js" type="module"></script> | ||||||
|  |  | ||||||
| </head> | </head> | ||||||
| <body> | <body> | ||||||
|  |   <div class ="Top-Bar"> | ||||||
|  |     <img src ="./assets/images/icons/Logo.png" alt="logo" /> | ||||||
|  |     <h1 style="font-family:'Lucida Sans'"> Food Journal </h1> | ||||||
|  |     <form id="form"> | ||||||
|  |         <input type='search' id="seaching" name="searchBar" placeholder="Search journal..."> | ||||||
|  |         <button class="click" type="search"> | ||||||
|  |             Search | ||||||
|  |         </button> | ||||||
|  |     </form> | ||||||
|  |     <!-- | ||||||
|  |     <form id="form"> | ||||||
|  |         <input type='search' id="seaching" name="searchBar" placeholder="Search journal..."> | ||||||
|  |         <button class="click" type="search"> | ||||||
|  |             Search | ||||||
|  |         </button> | ||||||
|  |     </form> | ||||||
|  |     ---> | ||||||
|   <main> |   <main> | ||||||
|     <!-- Add Food Entries Here --> |     <!-- Add Food Entries Here --> | ||||||
|  |     <div class="Review-boxes"> | ||||||
|  |       <h2> Recent Reviews </h2> | ||||||
|  |       <a href='./CreatePage.html'><img src ="./assets/images/icons/Grouppink.png" alt="CREATE" /></a> | ||||||
|  |        | ||||||
|  |     </div> | ||||||
|  |       <div class="Filter-box"> | ||||||
|  |     </div> | ||||||
|  |     <div class="review-container" id="review-container"></div> | ||||||
|   </main> |   </main> | ||||||
|   <button type="button" id="create-btn"><a href='./CreatePage.html'></a>CREATE</button> |   <!--<button type="button" id="create-btn"><a href='./CreatePage.html'></a>CREATE</button>--> | ||||||
| </body> | </body> | ||||||
| </html> | </html> | ||||||
|   | |||||||
| @@ -1,83 +1,84 @@ | |||||||
| /* CreatePage.css */ | /* CreatePage.css */ | ||||||
|  |  | ||||||
| * { |  | ||||||
|   font-family: sans-serif; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| body{ | body{ | ||||||
|   height: 100%; |   background-color: #13323b; | ||||||
|   width: 100%; |  | ||||||
| } | } | ||||||
|  |  | ||||||
| fieldset { | h1 { | ||||||
|   border: 2px solid rgb(214 214 214); |  | ||||||
|   box-sizing: border-box; |  | ||||||
|   display: block; |  | ||||||
|   width: max-content; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| form button { |  | ||||||
|   display: block; |  | ||||||
|   margin-top: 5px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| label[for="ingredients"] p { |  | ||||||
|   margin: 0; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| label[for="numRatings"] { |  | ||||||
|   margin: 10px 0 0; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| label[for^="rating"] { |  | ||||||
|   padding-right: 10px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| label:not([for^="rating"]) { |  | ||||||
|   display: block; |  | ||||||
|   margin-bottom: 5px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| main { |  | ||||||
|   column-gap: 10px; |  | ||||||
|   display: flex; |  | ||||||
|   flex-wrap: wrap; |  | ||||||
|   height: auto; |  | ||||||
|   max-width: 660px; |  | ||||||
|   row-gap: 10px; |  | ||||||
|   width: 100%; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .tag-container { |  | ||||||
|   display: flex; |  | ||||||
|   flex-flow: row wrap; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .tag { |  | ||||||
|   background-color: grey; |  | ||||||
|   border-radius: 7px; |  | ||||||
|   color: white; |  | ||||||
|   padding-right: 7px; |  | ||||||
|   padding-left: 7px; |  | ||||||
|   margin: 3px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .tag::before { |  | ||||||
|   display: inline-block; |  | ||||||
|   content: "x"; |  | ||||||
|   height: 15px; |  | ||||||
|   width: 15px; |  | ||||||
|   margin-right: 4px; |  | ||||||
|   text-align: center; |   text-align: center; | ||||||
|   color: white; | } | ||||||
|   cursor: pointer; | .Top-Bar{ | ||||||
|  |   margin-top: -8cm; | ||||||
|  | } | ||||||
|  | .Top-Bar > img{ | ||||||
|  |   position: relative; | ||||||
|  |   top: 7.85cm; | ||||||
|  | } | ||||||
|  | .Top-Bar > h1{ | ||||||
|  |   position: relative; | ||||||
|  |   top: 2.2cm; | ||||||
|  |   font-size: 3cm; | ||||||
|  |   color: #EAA9BC  | ||||||
|  |  | ||||||
|  | } | ||||||
|  | .Top-Bar > form{ | ||||||
|  |   position: relative; | ||||||
|  |   left: 32cm; | ||||||
| } | } | ||||||
|  |  | ||||||
| .tag:hover::before { | .journal-form { | ||||||
|   color: red; |   font-size: 120%; | ||||||
|  |   width: 50%; | ||||||
|  |   display: block; | ||||||
|  |   margin: auto; | ||||||
|  |   color: #ccb3bb; | ||||||
|  |   border: 3px solid rgb(7, 0, 0); | ||||||
|  |   background-color: #b52754; | ||||||
| } | } | ||||||
|  |  | ||||||
| .danger { | .hidden, | ||||||
|   background-color: rgb(254 171 171); | .rating:not(:checked) > input { /* Hide radio circles while star rating */ | ||||||
|   border-color: red; |   display: none; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* Unchecked stars */ | ||||||
|  | .rating:not(:checked) > label { | ||||||
|  |   /* Make stars line up sideways and not vertically */ | ||||||
|  |   float: right; | ||||||
|  |  | ||||||
|  |   /* Hide label text */ | ||||||
|  |   width: 1em; | ||||||
|  |   overflow: hidden; | ||||||
|  |   white-space: nowrap; | ||||||
|  |  | ||||||
|  |   /* Star default color and size */ | ||||||
|  |   font-size: 200%; | ||||||
|  |   line-height: 1.2; | ||||||
|  |   color: #b3b3cc; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .rating > label:active { | ||||||
|  |   position: relative; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .rating:not(:checked) > label::before { | ||||||
|  |   content: "★"; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | /* Checked star color */ | ||||||
|  | .rating > input:checked ~ label { | ||||||
|  |   color: #ffbf00; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .rating:not(:checked) > label:hover, | ||||||
|  | .rating:not(:checked) > label:hover ~ label { | ||||||
|  |   color: orangered; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .rating > input:checked + label:hover, | ||||||
|  | .rating > input:checked ~ label:hover, | ||||||
|  | .rating > input:checked + label:hover ~ label, | ||||||
|  | .rating > input:checked ~ label:hover ~ label, | ||||||
|  | .rating > label:hover ~ input:checked ~ label { | ||||||
|  |   color: orangered; | ||||||
| } | } | ||||||
							
								
								
									
										65
									
								
								source/static/homepage.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								source/static/homepage.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | |||||||
|  | /* homepage.css */ | ||||||
|  | /* Color*/ | ||||||
|  | body{ | ||||||
|  |     background-color: #13323b; | ||||||
|  | } | ||||||
|  | .Top-Bar{ | ||||||
|  |     margin-top: -8cm; | ||||||
|  | } | ||||||
|  | .Top-Bar > img{ | ||||||
|  |     position: relative; | ||||||
|  |     top: 7.5cm; | ||||||
|  | } | ||||||
|  | .Top-Bar > h1{ | ||||||
|  |     position: relative; | ||||||
|  |     left: 10.5cm; | ||||||
|  |     top: 2.2cm; | ||||||
|  |     font-size: 3cm; | ||||||
|  |     color: #EAA9BC;  | ||||||
|  |    | ||||||
|  | } | ||||||
|  | .Top-Bar > form{ | ||||||
|  |     position: relative; | ||||||
|  |     left: 32cm; | ||||||
|  | } | ||||||
|  | .Review-boxes { | ||||||
|  |     position: relative; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .Review-boxes > h2 { | ||||||
|  |     position: relative; | ||||||
|  |     left: 10cm; | ||||||
|  |     font-size: 1.5cm; | ||||||
|  |     color: #EAA9BC;  | ||||||
|  | } | ||||||
|  | .Review-boxes > input { | ||||||
|  |     position: relative; | ||||||
|  |     left: 20.34cm; | ||||||
|  |     top: -3.5cm; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .Filter-box{ | ||||||
|  |     width:300px; | ||||||
|  |     height:700px; | ||||||
|  |     background: #8D4E62; | ||||||
|  |     position: relative; | ||||||
|  |     left: 29.5cm; | ||||||
|  |     top: -5.5cm; | ||||||
|  | } | ||||||
|  | .review-container{ | ||||||
|  |     display: flex; | ||||||
|  |     position: relative; | ||||||
|  |     top: -22cm; | ||||||
|  |     left: 5cm; | ||||||
|  |     max-width: 900px; | ||||||
|  |     flex-wrap: wrap; | ||||||
|  | } | ||||||
|  | .review-container > div { | ||||||
|  |     background-color: #f1f1f1; | ||||||
|  |     width: 200px; | ||||||
|  |     height: 200px; | ||||||
|  |     margin: 10px; | ||||||
|  |     text-align: center; | ||||||
|  |     line-height: 75px; | ||||||
|  |     font-size: 30px; | ||||||
|  |   } | ||||||
							
								
								
									
										19
									
								
								specs/adrs/111422-csslinting-stylelint.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								specs/adrs/111422-csslinting-stylelint.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | # Use Stylelint for CSS linting framework | ||||||
|  |  | ||||||
|  | - Status: accept | ||||||
|  | - Deciders: Arthur Lu, Marc Reta | ||||||
|  | - Date: 11 / 14 / 22 | ||||||
|  |  | ||||||
|  | ## Decision Drivers | ||||||
|  |  | ||||||
|  | - Need linting to work with multiple style standards | ||||||
|  | - Need linting to be fast and informative | ||||||
|  |  | ||||||
|  | ## Considered Options | ||||||
|  |  | ||||||
|  | - Stylelint | ||||||
|  | - Prettier | ||||||
|  |  | ||||||
|  | ## Decision Outcome | ||||||
|  |  | ||||||
|  | Chosen Option: Stylelint for its easy installation and unopinionated.  | ||||||
							
								
								
									
										19
									
								
								specs/adrs/111422-htmllinting-htmlhint.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								specs/adrs/111422-htmllinting-htmlhint.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | # Use HTMLhint for HTML linting framework | ||||||
|  |  | ||||||
|  | - Status: accept | ||||||
|  | - Deciders: Arthur Lu, Marc Reta | ||||||
|  | - Date: 11 / 14 / 22 | ||||||
|  |  | ||||||
|  | ## Decision Drivers | ||||||
|  |  | ||||||
|  | - Need linting to work with multiple style standards | ||||||
|  | - Need linting to be fast and informative | ||||||
|  |  | ||||||
|  | ## Considered Options | ||||||
|  |  | ||||||
|  | - HTMLhint | ||||||
|  | - HTML-validate | ||||||
|  |  | ||||||
|  | ## Decision Outcome | ||||||
|  |  | ||||||
|  | Chosen Option: HTMLhint for its low configuration complexity.  | ||||||
		Reference in New Issue
	
	Block a user