* Added configurable meta keywords
* Replaced hardcoded meta-keywords with the configurable ones
* Added tests for configurable meta_keywords
* Improve info for configuring meta-keywords
* feat: define the different social media handles
* feat: dynamically render all the social media fields
* feat: ensure that the social media handles are permitter and dealt in a separate path from the rest
* test: update social_networks_handle to social_media_handles
* feat: update the sidebar to use different social media
* feat: update the twitter:site meta handle to be SiteConfig.social_media_handles["twitter"]
* feat: update the a links to tweets
* feat: make the links dynamic and only show those that there is a value for
* refactor: make @ThePracticalDev dynamic
* refactor: make @ThePracticalDev dynamic
* feat: add dynamic social media handles
* chore: rename values
* chore: remove extra social handles
* chore: some spacing
* chore: remove lines
* rafector: user rails-settings-cached type: :hash to set the type and the defaults
* feat: use nil and blank instead of "" and empty
* chore: move the social media handles into the right box
* refactor: rearrange model placement based on the UI
* chore: code climate
* refactor: comments from PR
* chore: rename the ff
* chore: amended twitter username
* chore: add a temporary rake task
* feat: update names
* chore: why am i using the old syntax :(
* chore: revert dynamic erb variable in offline.html
* chore: remove the description
* feat: change the meta og:site_name property from The Practical DEV to The <COMMUNITY_NAME> Community consistently
* refactor: change the canonical link to be more dynamic using the <%= ApplicationConfig["APP_PROTOCOL"] %><%= ApplicationConfig["APP_DOMAIN"] %>
* refactor: update the path to be dynamic
* refactor: change some other meta properties to be dynamic
* refactor: update the index
* refactor: update the sitename to just read <%= ApplicationConfig["COMMUNITY_NAME"] %> Community
* feat: copyright year should be dynamic
* feat: change the meta og:url content to be dynamic by using <%= ApplicationConfig["APP_PROTOCOL"] %><%= ApplicationConfig["APP_DOMAIN"] %> for the former part of the url
* feat: space
* refactor: move the copyright notice to a helper
* refactor: use the community_qualified_name helper!
* refactor: start year is already a string
* refactor: use app url helper instead of <%= ApplicationConfig["APP_PROTOCOL"] %><%= ApplicationConfig["APP_DOMAIN"] %> everywhere
* chore:oops
* refactor: Change <meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png"> to `<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">` consistently.
* refactor: Replace `<meta property="og:image" content="http://i.imgur.com/B4JNl1w.png" />` with ` <meta property="og:image" content="<%= SiteConfig.main_social_image %>" />`
* chore: update some other meta's
* feat: replace 'The Practical DEV' with 'DEV Community' and
* test: remove The :)
* test: copyright_notice
* fix: syntax error
* feat: name of community
* refactor: use app url
* fix: template strings
* fix: tag
* feat: update the app url parameters
* feat: add a community_name helper so we don't have to refer to an environment variable in the templates
* feat: take into account the case when the start year is a blank string
* feat: single quotes to double quotes
* test: add a test for the #community_name
* chore: update or codeclimate
* chore: amend the community helper
* refactor: use the community_name helper in here
* feat: update ApplicationConfig["COMMUNITY_NAME"] with community_name
* fix: Time.current.year needs to be a string :(
* chore: extra space
* chore: change to use community_qualified_name
* set up refactored onboarding
* create onboarding page
* add in first slide and change slide functionality
* fix test suite
* profile refactor
* profile refactor
* refactor to api
* add checkbox fields
* add checkbox fields
* remove puts
* add basic css
* add styling
* add redirect
* hide back and next at first and last slides
* test refactored onboarding
* test refactored onboarding
* remove article edits
* Fix schema
* Add deleted file back in
* Add default value for checked_t&c column
* Adjust HTML structure to keep nav buttons in place
* Fix ESLint issues on Onboarding.jsx file
* Handling for undefined or empty followedTags on getUserTags
* Fix codeclimate issues
* Fix codeclimate issues
* Fix more codeclimate issues
* Fix more codeclimate issues
* Update Onboarding snapshots
* Uncheck the CoC and T&C checkboxes on render
* Update snapshots
* Return false instead of raising error
* Update spec to use new onboarding
* Redirect to onboarding if haven't seen it yet
* Prevent redirect to onboarding from /signout_confirm
* Use assign_attributes instead of saving twice
* Move COC and T&C checkbox page to second slide
* Add 'go back to original page' functionality
* Reuse ready prototype logic
* Keep track of the last visited onboarding page
* Fix email subscription bug
* Fix overflow issue for tags page
* Remove height to prevent page container scrolling
* Check for CoC and T&C for displaying onboarding
* Add InstantClick redirect and preserve referrer in client
* Fix async update + check by using localStorage
* Turn off onboarding for tests
* Finalize design for onboarding
* Finalize design for onboarding
* Make bulk follows during onboarding
* Fix bulk follow test
* updating all headers to have h* tags, or changing elements
* Remove commented out binding.pry
* Remove unused page
* Use article instead of div for consistency
* Update snapshot with new section tag
* Use h4 tags again for new views
* Add a missing bounty hunter
* Add a msg about updating social usernames
* Add mailto: link for yo@dev in terms
* Use render partial for help tag
* Remove the changed line