* Add policy for article manage action
This commit adds a policy for the articles#manage method. This will
prevent the error that is stopping article owners from managing their
articles.
* Hide manage button if article isnt published
* account for no current_user
* Move button logic to javascript
* create listings show route
* add link to listings
* include slug in json
* migrate test environment
* unlink listing title
* fix formatting
* remove slug data from json
* remove auto linting
* fix spacing
* add to algolia index?
* actually add index?
* fix merge conflicts?
* update query
* Add YARD and plugins to generate source code doc
* Expose yard Ruby doc in gitdocs
* Add yard doc step to Travis
* Tell netlify to build the docs before deploying
* Add Gemfile for Ruby prerequisites and Makefile
* Makefile uses tabs, not spaces
* Build ruby-doc and then gitdocs
* Add recent Ruby version to make sure yard plugins work
* Switch Ruby to a pre-built version inside Netlify
* Add ActiveRecord for the yard-activerecord plugin
* Add Ruby doc header link and info to build it locally
* Social Cards Part 2
This is a follow up to part 1: https://github.com/thepracticaldev/dev.to/pull/2090.
This PR updates the og:image URLs to use the new social_preview.png urls
added in Part 1.
So that the already generated/cached images do not need to be recreated,
this sets a MIGRATION_DATETIME. Any object that has been updated after
that date will generate a new image
Objects from before that date will not. They will use the new url.
* Fix weird change made by rubocop autocorrect
* Handle organizations + users
* Run CI
* Use time with zone to be explicit about timezone
* Simplify branching in user_social_image_url method
* Fix param alignment + bump migration date
* Set up basic /manage route
* Add basic article manage page
* Add tips and finalize permissions for /manage
* Add final test and add manage button to article show
* Update failing specs
* Change format of user preferred languages
* Make sure user language settings are set by default
* Add missing expect to the user spec
* Fix users/misc template
* Move existing languages to a constant
* Remove commented user code
* Move languages out of User model
* Update preferred languages accordingly to the available languages
* Set user estimated language only if the language is available
* Fix Portuguese spelling #2582
Currently dev.to is including the entire fog library just to support image uploads to AWS S3. carrierwave can be used just with fog-aws.
I preserved the same exact version is currently used now.
* Correct installation documentation
* Add stylized titles
* Add some changes to the getting started documentation
* Add changes for the backend guide
* Add changes for the design guide
* Add testing / Q&A guide improvements
* Minor fixes to contributing docs
* More improvements to the general doc
* Improvements for frontend guide
* Get a job created that can create a webhook subscription for a twitch user login
* Remove ngork url
* Refactor add store the access token in the cache
* Get a controller stood up to recieve the webhooks. Now they just need to be processed
* Get User columns added and got webhook controller bones working
* Update the webhook job to use the User
* Add a way for the User to input their Twitch User Name. Plus a linter fix
* Delay webhook registration when profile is updated
* Don't add _ in username
* Use String columns
* Quick fix and add some more requests specs
* Specs for the webhook job
* Get a show page Twitch Live Streams. Just a straight embed of the Twitch Everything Embed UI. Works surprisingly well responsively, and works on all screen sizes
* Fix Gemfile.lock from merge issues
* Add support for expired tokens and add spec
* Add secrets to webhook registration and clean up spec to remove token logic
* Verify webhook secret and spec it
* Add rake task to enqueue webhook registration for all Users. This can be used from Heroku Scheduler
* Update the lease seconds to be for 5 days
* Actually lets do 7 so we can refresh twice a week and try to make sure that we can always miss one
* Hijack the existing Twitch logo instead of making a duplicate one
* Remove comment and replace with log line
* Remove some white space
* Log to Airbrake when webhook errors occur
* Move to passing in an id instead of User object
* Extract logic from Job to Service object
* Capitilize in the view
* Move out of models and into services
* Remove letover stub
* Remove one usage of Faraday
* Use HTTParty for all the HTTP here
The char "-" in regexp defaults a a separator for a range of character, for example: "a-z", Ruby is smart enough to understand "-_" is no range but it does emit a warning, by properly escaping the char "-" we ensure that no warning or issues can arise in the future.
* Improve Gist Link Regex
While working with the gist liquid tag, I noticed that valid gist links
were resulting in errors. After looking at `gist_tag.rb`, I noticed
that for a link to be considered valid the gist-id had to be exactly 32
characters which is not always true.
I changed the regex so links with a gist-id of at least one character and
at most 32 characters is considered valid. I decided to continue with
the 32 characters that had previously been used as the upper bound. I
also made a change so links with a github username that starts or ends
with hypens or contains consecutive hypens are considered invalid. The
aforementioned change was based on the validation message from the
create new GitHub account form.
* Change gist_link to gist_links in spec file for Gist tag