- Purpose
- Functionality
- Technologies used
- File structure
- SCSS Organization
The purpose of this project is to create an 'Instanews App'. When users pick a category from the dropdown, it will pull the top stories of that category from New York Times using their api and display them.
-
When a category from the dropdown menu is chosen, twelve of the top stories will be shown in a grid. Grid type will vary depending on screen width
-
Header will shrink to allow more space for articles when category is chosen
-
Hovering over articles will show the article abstract in a sliding animation
-
Clicking the articles will lead the user to the article found on the New York Times website
- New York Times API: NYT
- JQuery library: JQuery
- Transfonter to convert font formats to ensure cross-browser support: Transfonter
- NPM package manager: NPM
- Gulp and it's dependencies: Gulp
- James Nowland's Select Style Codepen: James Nowland
- NPM packages, gulp file and tasks, and eslint rules are located in the root directory
- 'app' is the working directory containing uncompressed code and assets
- 'dist' is the distribution directory containing compressed and ready-for-deployment code and assets for maximum performance
Styles are coded with the sass css preprocessor, converted into css in the app directory for workflow, and finally minified and moved into dist for distribution.
Generally, SCSS is organized in a modular top-to-bottom format. Global and site-wide styles are at the top and then each part of the website will follow from top to bottom.
Within each section of the website, a similar top-to-bottom approach is followed. Elements on roughly the same position will have more specific elements towards the bottom.
Within each SCSS selector, the individual properties are organized as follows:
- Display elements such as inline, block, flex, and their affected derivatives.
- Positional elements such as absolute, top, left.
- Dimensional elements such as width, margin, padding, height.
- Visual elements such as color, background, and font.