* Refactor articles_show_spec.rb to better test JSON data
* Adds additional tests around JSON-LD data
* Removes original tests for JSON-LD from articles_show_spec
* Add org data to spec to test against actual JSON-LD data
* Removes inline variables in favor of let declarations
* Adds and tests organization structured data
* Removes unnecessary objs and variables from spec
* Adjust org JSON-LD description in the Stories::Controller
* Replaces user summary with org summary in org data structure
* Capitalize the S in RSpec in articles_show_spec.rb
* Remove OR from dateModified in favor of published_timestamp
* Remove unnecessary .downcases from methods in Stories::Controller
* Removes .downcase from methods using params[:username]
* Removes .downcase from handle_user_or_organization_or_podcast_or_page_index
* Removes .downcase from handle_user_index
* Add shared_examples for lowercase routing to stories_index_spec.rb
* Replace create with build in stories_index_spec.rb
* Add route_downcaser gem to Gemfile to make routes case-insensitive
* Ensures paths are downcased and redirects to lowercase routes
* Resolves SEO issue where uppercase routes do not redirect to lowercase
* Add before_action to redirect to lowercase user routes
* Adds a before_action for the index only
* Redirects lowercase usernames and article titles
* Comments out route_downcaser gem in Gemfile for now
* Redirect to lowercase usernames in StoriesController#show for uppercase usernames
* Redirects in before_action for the index method only
* Adds nil check in #redirect_to_lowercase_username
* Adjusts stories_index_spec.rb to be more concise
* Removes old and unnecessary code from StoriesController and spec
* Add additional testing around lowercase name redirects and aggregate_failures
* Replace hardcoded URL with URL helper in Stories::Controller and stories_index_spec
* Fix GET request in stories_index_spec.rb
* Use upper in place of A-Z in regex in redirect_to_lowercase_username
* Revert URL helper changes and use params instead in Stories::Controller and stories_index_spec
* Add seo_optimized_images method to article_json_ld
* Add inline documentation for images in method
* Add to stories_controller.rb with other JSON-LD
* Fix inconsistencies in stories_show_spec.rb tests
* Specify SEO optimized width and height for cover images in articles JSON-LD
* Specify 1:1 ratio for cover images in stories_controller.rb
* Specify 4:3 ratio for cover images in stories_controller.rb
* Specify 16:9 ratio for cover images in stories_controller.rb
* Optimize images for SEO purposes by specifying width and height
* Change aspect ratio to be 1600x900 in stories_controller.rb
* Makes aspect ratio for article cover images smaller in JSON-LD
* Add options to social_image_helper.rb
* Adds options to article_social_image_url call
* Add JSON-LD in place of schema.org in _video_player.html.erb
* Remove unnecessary tags around JSON-LD to clean up templates
* Fix indenatation and remove extra elements from show.html.erb and _profile_header.html.erb
* Remove empty line from articles/show.html.erb
* Clean up JSON-LD commas across erb templates
* Revert articleBody changes, adjust nesting, and remove extra quote
* Add application/ld+json to allowed_types in .erb-lint.yml
This addition makes it so that the no verify flag is no longer required
* Add additional data for Articles, Users, and Orgs to better SEO
* Add additional data to JSON-LD structures
*Add sameAs data to articles/show.html.erb
*Add sameAs data to users/show.html.erb
*Make adjustments to VideoObject data in _video_player
*Make adjustments to Org in _profile_header
*Add removed erb back to all erb templates
* Refactor code to fix syntax Google syntax errors
* Add missing double quotes to values
* Remove unnecessary meta tags from _video_player.html.erb
* Add additional key-value pairs to data structures
* General code clean up
* Clean up existing data structures
*Remove useless meta tag and replace with a tag
*Small refactor to users/show.html.erb data
* Extract user json-ld out of users/show.html.erb
*Move json-ld logic to stories_controller
*Use user_json_ld variable in place of entire data structure
*Set user_json_ld as a before_action in the controller
* Add specs around JSON-LD data in templates
*Add request spec for users/show.html.erb
*Add request spec for articles/show.html.erb
*Add request spec for _video_player.html.erb
*Add request spec for _profile_header.html.erb
*WIP: Fix pending specs for all templates
* Remove useless meta tags from users/show and _profile_header.html.erb
* Add additional test coverage to users/show.html.erb
*Add additional tests to user_show_spec
*Ensure that all tests pass
*Small refactor to users/show.html.erb JSON data structure
* Add additional test coverage around JSON-LD data
*Add more robust tests to template specs
*Remove unnecessary comments from specs
*Uncomment pending specs
* Adjust modified date to be more readable in article specs
* Refactor spec to be more readable and update GitHub username test
* Remove meta erb from articles/show.html.erb
* Remove meta data from _video_player.html.erb
* Clean up useless codeand whitespace for final review
* Extract users/show data structure from template into StoriesController
* Remove JSON-LD object from users/show.html.erb
* Place JSON-LD for users/show.html.erb in StoriesController
* Store user_json_ld in set_json_ld method in StoriesController
* Call user_json_ld variable in script tag in users/show
* Clean up trailing commas and refactor articles/show.html.erb
* Remove redundant user/profile_header_spec.rb
* Remove unnecessary code from _profile_header and articles/show
* Remove Organization from articles/show.html.erb
* Remove unnecessary comments from _profile_header.html.erb
* Extract user_json_ld into separate methods to fix Code Climate failures
* Rename user_profile_details and user_same_as methods to be more explicit
* Refactored user_json_ld methods to use symbols instead of strings
* Use symbols to fetch keys from a hash instead of strings
* Changed user_url in data structure
* Removal of erb tags and general clean up
* Revert schema changes
* Remove unnecessary quotation marks
* feat: set up an event handler that will allow close the banner and set a cookie when you've closed it
* feat: return early if the cookie says it shouldn't be shown
* refactor: make the names more general so that they can be applied to other campaigns
* Changed sidebar campaign view
* feat: update the hml of the campaign sidebar config (do not show broken image if the link has not been set)
* feat: update the html and css to make it look like Figma
* chore: revert the classname change as we use write elsewhere
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
* Add json support at stories/index endpoint
* Tweak tests
* Add main image
* Some light refactoring in StoriesController
* Tiny test refactor
* Split feed generation to it's own controller
* Use Jbuilder for article formatting
* Blank lines thanks Rubocop
* Don't cache this response: we want it generated per use each time
* Whoops!
* PR changes and tweaks to Timeframmer constants
* Remove initializer test since arguments aren't required
* feat: port over changes (+ suggestions) from https://github.com/thepracticaldev/dev.to/pull/5892/files
* chore: add query over multiple lines
* refactor: move the sql logic into the controller instead of in the template
* chore: appease code climate
* feat: the number of published posts should show up by approved article.
* chore: Do not use spaces between -> and ( in lambda literals
* refactor: use the existing function in order to spawn the one where we need approval
* refactor: move logic to the controller instead of the view :)
* chore: code climate syntax
* chore: more codeclimate
* Consolidate `.decorate` calls
* Move Activerecord finders out of main stories feed partial
* Add back in decorates to sticky_articles partial
* Combine top and new articles returned from StoriesController
* Extract feed construction logic to a service
* Some PR tweaks (naming)
* Quick test fix
* Published field for podcasts
* Add podcasts migration
* More specs for podcasts availability
* Show published in podcasts internal
* Update schema.rb with db:migrate
* Allow users to follow podcasts
* Only display podcasts user follows
* Add main_color_hex to factory
* Fix podcast test and modify styles
* Fix tests
* Remove weird test