From 955bdcb2bcb3427415b9f23668d68a09fbcc85e0 Mon Sep 17 00:00:00 2001 From: Andy Zhao <17884966+Zhao-Andy@users.noreply.github.com> Date: Wed, 15 Jul 2020 13:29:11 -0400 Subject: [PATCH] Update docs with Forem instead of dev.to (#9316) * Rename all GitHub links from thepracticaldev/dev.to to forem/forem * Use new site name * Rename to Forem * Rename more dev.to to forem * Remove unnecessary redirects * Rename DEV to Forem * Use Forem instead of DEV for branding * Use Forem instead of DEV for licensing * Use seedling instead of DEV logo --- docs/.gitdocs.json | 10 ++--- docs/.static/seedling.png | Bin 0 -> 15890 bytes docs/api_template.hbs | 2 +- docs/api_v0.yml | 6 +-- docs/backend/audit-log.md | 2 +- docs/backend/auth-github.md | 11 +++-- docs/backend/auth-twitter.md | 6 +-- docs/backend/authentication.md | 8 +++- docs/backend/configuration.md | 4 +- docs/backend/data-update-scripts.md | 22 +++++----- docs/backend/elasticsearch.md | 4 +- docs/backend/fastly.md | 2 +- docs/backend/roles.md | 7 ++- docs/backend/scheduled-jobs.md | 19 ++++---- docs/contributing/docs.md | 6 +-- docs/contributing/forem.md | 34 +++++++-------- docs/design/branding.md | 16 +++---- docs/design/theming.md | 2 +- docs/frontend/debugging.md | 8 ++-- docs/frontend/dynamic-imports.md | 14 +++--- docs/frontend/instant-click.md | 4 +- docs/frontend/linting-formatting.md | 6 +-- docs/frontend/liquid-tags.md | 10 ++--- docs/frontend/plain-js.md | 2 +- docs/frontend/styles.md | 6 +-- docs/frontend/webpacker.md | 6 +-- docs/getting-started/config-env.md | 2 +- docs/getting-started/db.md | 2 +- docs/getting-started/forking.md | 11 ++--- docs/getting-started/pull-request.md | 8 ++-- docs/getting-started/start-app.md | 2 +- docs/getting-started/syncing.md | 8 ++-- docs/installation/containers.md | 44 +++++++++++-------- docs/installation/gitpod.md | 11 +++-- docs/installation/linux.md | 19 ++++---- docs/installation/mac.md | 21 ++++----- docs/installation/readme.md | 12 ++--- docs/installation/windows.md | 25 ++++++----- docs/internal/internal-search.md | 6 +-- docs/internal/internal-user-interface.md | 9 ++-- docs/internal/readme.md | 4 +- docs/licensing.md | 19 ++++---- docs/maintainers/deploying.md | 10 ++--- docs/maintainers/pull_requests.md | 2 +- docs/netlify.toml | 53 ----------------------- docs/readme.md | 19 ++++---- docs/self-hosting.md | 12 ++--- docs/technical-overview/architecture.md | 6 +-- docs/technical-overview/stack.md | 2 +- docs/tests/accessibility-tests.md | 13 +++--- docs/tests/codeclimate.md | 11 +++-- docs/tests/readme.md | 6 +-- docs/tests/regression-tests.md | 8 ++-- docs/tests/unit-functional-tests.md | 5 ++- 54 files changed, 266 insertions(+), 301 deletions(-) create mode 100644 docs/.static/seedling.png diff --git a/docs/.gitdocs.json b/docs/.gitdocs.json index 27ed31cd7..99ef0187e 100644 --- a/docs/.gitdocs.json +++ b/docs/.gitdocs.json @@ -1,12 +1,12 @@ { - "name": "DEV Docs", + "name": "Forem Docs", "root": "./", - "logo": "devblacksquarelogo.svg", + "logo": "seedling.png", "host": "0.0.0.0", "header_links": [ { "title": "Repo", - "href": "https://github.com/thepracticaldev/dev.to", + "href": "https://github.com/forem/forem", "target": "_blank", "rel": "noopener noreferrer nofollow" }, @@ -18,13 +18,13 @@ }, { "title": "Ruby doc", - "href": "http://docs.dev.to/ruby-doc", + "href": "http://docs.forem.com/ruby-doc", "target": "_blank", "rel": "noopener noreferrer nofollow" }, { "title": "API doc", - "href": "http://docs.dev.to/api", + "href": "http://docs.forem.com/api", "target": "_blank", "rel": "noopener noreferrer nofollow" } diff --git a/docs/.static/seedling.png b/docs/.static/seedling.png new file mode 100644 index 0000000000000000000000000000000000000000..aa93c9ce2a0c4added154124f2e09dbaa9622f62 GIT binary patch literal 15890 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 literal 0 HcmV?d00001 diff --git a/docs/api_template.hbs b/docs/api_template.hbs index 5f15b99ef..c9ddaa4e7 100644 --- a/docs/api_template.hbs +++ b/docs/api_template.hbs @@ -11,7 +11,7 @@ - + {{! needed for adaptive design }} diff --git a/docs/api_v0.yml b/docs/api_v0.yml index 15c273949..4a01666a2 100644 --- a/docs/api_v0.yml +++ b/docs/api_v0.yml @@ -1692,7 +1692,7 @@ paths: ### Additional resources - - [Rails tests for Articles API](https://github.com/thepracticaldev/dev.to/blob/master/spec/requests/api/v0/articles_spec.rb) + - [Rails tests for Articles API](https://github.com/forem/forem/blob/master/spec/requests/api/v0/articles_spec.rb) tags: - articles requestBody: @@ -1854,7 +1854,7 @@ paths: ### Additional resources - - [Rails tests for Articles API](https://github.com/thepracticaldev/dev.to/blob/master/spec/requests/api/v0/articles_spec.rb) + - [Rails tests for Articles API](https://github.com/forem/forem/blob/master/spec/requests/api/v0/articles_spec.rb) tags: - articles requestBody: @@ -2407,7 +2407,7 @@ paths: ### Additional resources - - [Rails tests for Listings API](https://github.com/thepracticaldev/dev.to/blob/master/spec/requests/api/v0/listings_spec.rb) + - [Rails tests for Listings API](https://github.com/forem/forem/blob/master/spec/requests/api/v0/listings_spec.rb) tags: - listings requestBody: diff --git a/docs/backend/audit-log.md b/docs/backend/audit-log.md index 7ee4f9eac..1dc5ce9e2 100644 --- a/docs/backend/audit-log.md +++ b/docs/backend/audit-log.md @@ -4,7 +4,7 @@ title: Audit Log # Audit Log -To help maintain accountability for users with elevated permissions the DEV +To help maintain accountability for users with elevated permissions the Forem application has a special model that records certain actions. For example, when a user with the `trusted` role creates a negative reaction on diff --git a/docs/backend/auth-github.md b/docs/backend/auth-github.md index 1e05cc04a..8b26a248c 100644 --- a/docs/backend/auth-github.md +++ b/docs/backend/auth-github.md @@ -4,16 +4,15 @@ title: GitHub Authentication # GitHub App and Authentication -DEV allows you to authenticate using GitHub. To use this authentication method +Forem allows you to authenticate using GitHub. To use this authentication method in local development, you will need to set up a GitHub App and retrieve its keys. Then you'll need to provide these keys to the Rails application. -1. [Click this link to create a new OAuth application in your Github - account](https://github.com/settings/applications/new) - you will be - redirected to sign in to Github account if you have not already. +1. [Click this link to create a new OAuth application in your Github account](https://github.com/settings/applications/new) - + you will be redirected to sign in to Github account if you have not already. 2. Fill in the form with an application name, description, and the URL - `http://localhost:3000/`. Replace the port `3000` if you run DEV on another + `http://localhost:3000/`. Replace the port `3000` if you run Forem on another port. ![github-1](https://user-images.githubusercontent.com/22895284/51085500-877a6c00-173a-11e9-913a-0dccad234cf3.png) @@ -28,5 +27,5 @@ keys. Then you'll need to provide these keys to the Rails application. ``` ![github-2](https://user-images.githubusercontent.com/22895284/51085862-49337b80-173f-11e9-8503-f8251d07f458.png) - + 4. Done. diff --git a/docs/backend/auth-twitter.md b/docs/backend/auth-twitter.md index 4dc04fda2..76b5ac5c0 100644 --- a/docs/backend/auth-twitter.md +++ b/docs/backend/auth-twitter.md @@ -4,7 +4,7 @@ title: Twitter Authentication # Twitter App and Authentication -DEV allows you to authenticate using Twitter. In order to use this +Forem allows you to authenticate using Twitter. In order to use this authentication method in local development, you will need to setup a Twitter App and retrieve its keys. Then you'll need to provide these keys to the Rails application. @@ -29,7 +29,7 @@ application. ![twitter-up-3](https://user-images.githubusercontent.com/22895284/51078781-53ac3180-16bb-11e9-8cf4-005efbb92d8a.png) -5. Write down the reasons that you want to use Twitter API. Mention DEV's +5. Write down the reasons that you want to use Twitter API. Mention Forem's community and describe the issues and tests and things that you want to work on. Copy it, you might use it later ;) @@ -58,7 +58,7 @@ application. 4. Check the **Enable Sign in with Twitter** option and fill in the Callback URL `http://localhost:3000/users/auth/twitter/callback` (or whatever port you run - DEV on). + Forem on). ![twitter-3](https://user-images.githubusercontent.com/22895284/51078799-9a9a2700-16bb-11e9-8e88-0393260449c7.png) diff --git a/docs/backend/authentication.md b/docs/backend/authentication.md index 90761f84a..dc37aae6f 100644 --- a/docs/backend/authentication.md +++ b/docs/backend/authentication.md @@ -7,8 +7,12 @@ title: Authentication Authentication is handled by [Devise](https://github.com/plataformatec/devise) and [OmniAuth](https://github.com/omniauth/omniauth). -On DEV you can only authenticate through GitHub or Twitter. Please check out the -respective guides on how to authenticate: +On Forem you can only authenticate through GitHub or Twitter. Please check out +the respective guides on how to authenticate: - [Github authentication](/backend/auth-github) - [Twitter authentication](/backend/auth-twitter) + +We may add other authentication providers in the future. Please check back +again, or search +[our GitHub repository's issues.](https://github.com/forem/forem/issues) diff --git a/docs/backend/configuration.md b/docs/backend/configuration.md index 7f90db60d..85312e431 100644 --- a/docs/backend/configuration.md +++ b/docs/backend/configuration.md @@ -20,7 +20,7 @@ credentials and third party services. Examples: - `STRIPE_SECRET_KEY` Settings managed via ENVied can be found in -[`Envfile`](https://github.com/thepracticaldev/dev.to/blob/master/Envfile) (see +[`Envfile`](https://github.com/forem/forem/blob/master/Envfile) (see [Configuring Environment Variables](../getting-started/config-env.md)) and viewed at `/internal/config` (see [Accessing the admin panel](./admin.md)): @@ -36,7 +36,7 @@ Examples: - `suggested_tags` These settings can be accessed via the -[`SiteConfig`](https://github.com/thepracticaldev/dev.to/blob/master/app/models/site_config.rb) +[`SiteConfig`](https://github.com/forem/forem/blob/master/app/models/site_config.rb) object and viewed / modified via `/internal/config` (see [Accessing the admin panel](./admin.md)). diff --git a/docs/backend/data-update-scripts.md b/docs/backend/data-update-scripts.md index 130ef6b53..3c3d698d4 100644 --- a/docs/backend/data-update-scripts.md +++ b/docs/backend/data-update-scripts.md @@ -5,17 +5,17 @@ title: Data Update Scripts ## What are Data Update Scripts? Data Update Scripts were introduced in -[this PR](https://github.com/thepracticaldev/dev.to/pull/6025) and allow us to -run any data updates we might need. For example, if we added a column to the -database and then wanted to backfill that column with data, rather than going -and manually doing it in a console, we would use a DataUpdateScript. Another -example might be adding a new attribute to Elasticsearch. We could then use a -DataUpdateScript to reindex all of our models. +[this PR](https://github.com/forem/forem/pull/6025) and allow us to run any data +updates we might need. For example, if we added a column to the database and +then wanted to backfill that column with data, rather than going and manually +doing it in a console, we would use a DataUpdateScript. Another example might be +adding a new attribute to Elasticsearch. We could then use a DataUpdateScript to +reindex all of our models. ## How it works First off, we added a -[DataUpdateScript model](https://github.com/thepracticaldev/dev.to/blob/master/app/models/data_update_script.rb) +[DataUpdateScript model](https://github.com/forem/forem/blob/master/app/models/data_update_script.rb) to Rails and a corresponding database table. This table is what we use to keep track of what scripts have been run and which ones have not/still need to be. @@ -42,9 +42,9 @@ end Once your script is in place then you can either run `rails data_updates:run` manually or you can let our setup script handle it. In our local -[bin/setup](https://github.com/thepracticaldev/dev.to/blob/master/bin/setup) -script you will see we have added an additional task to update data. This kicks -off the rake task `data_updates:run` for you. +[bin/setup](https://github.com/forem/forem/blob/master/bin/setup) script you +will see we have added an additional task to update data. This kicks off the +rake task `data_updates:run` for you. The rake task itself will check the `lib/data_update_scripts` folder to see if there are any new scripts that need to be run. It does this by reading all of @@ -57,5 +57,5 @@ script. DataUpdateScripts are also run automatically when a production deploy goes out. However, to ensure the new code they need to use has been deployed we use a -[`DataUpdateWorker`](https://github.com/thepracticaldev/dev.to/blob/master/app/workers/data_update_worker.rb) +[`DataUpdateWorker`](https://github.com/forem/forem/blob/master/app/workers/data_update_worker.rb) via Sidekiq and set it to run 10 minutes after the deploy script has completed. diff --git a/docs/backend/elasticsearch.md b/docs/backend/elasticsearch.md index c84013f95..6a68c6735 100644 --- a/docs/backend/elasticsearch.md +++ b/docs/backend/elasticsearch.md @@ -9,11 +9,11 @@ title: Elasticsearch > unstructured. Elasticsearch is built on Apache Lucene and was first released > in 2010 by Elastic. -# How DEV uses Elasticsearch +# How Forem uses Elasticsearch ### Searchable Models -At DEV we use Elasticsearch for all of our user-facing searching needs. Models +At Forem we use Elasticsearch for all of our user-facing searching needs. Models that are searched using Elasticsearch are: - Tags diff --git a/docs/backend/fastly.md b/docs/backend/fastly.md index 2ce922e84..9049f5987 100644 --- a/docs/backend/fastly.md +++ b/docs/backend/fastly.md @@ -36,7 +36,7 @@ parameters, you'll need to update Fastly. The reason we have a safe list of parameters in Fastly this way is so we don't have to consider junk parameters when busting the caches. Check out our -[`CacheBuster`](https://github.com/thepracticaldev/dev.to/blob/master/app/labor/cache_buster.rb) +[`CacheBuster`](https://github.com/forem/forem/blob/master/app/labor/cache_buster.rb) to see examples of this. Previously this was a manual process done by an internal team member. Now we do diff --git a/docs/backend/roles.md b/docs/backend/roles.md index f85858e35..8a5993199 100644 --- a/docs/backend/roles.md +++ b/docs/backend/roles.md @@ -15,7 +15,7 @@ the administrative overhead. Some bugs can only be seen for users with specific roles. You will need to change the role to reproduce a problem. -## How do we implement roles in DEV.to? +## How do we implement roles in Forem? Roles are implemented in this application using [Rolify][1]. The list of roles can be found in [app/models/role.rb][2] and you can search for [has_role in the @@ -69,8 +69,7 @@ User.joins(:roles).order(:id).group(:id).pluck(:id, :username, Arel.sql("array_a 3. [Admin][5] [1]: https://github.com/RolifyCommunity/rolify -[2]: https://github.com/thepracticaldev/dev.to/blob/master/app/models/role.rb -[3]: - https://github.com/thepracticaldev/dev.to/search?q=has_role&unscoped_q=has_role +[2]: https://github.com/forem/forem/blob/master/app/models/role.rb +[3]: https://github.com/forem/forem/search?q=has_role&unscoped_q=has_role [4]: https://stackoverflow.com/a/16096790/1511504 [5]: /backend/admin diff --git a/docs/backend/scheduled-jobs.md b/docs/backend/scheduled-jobs.md index e0de03c5d..e92c2b163 100644 --- a/docs/backend/scheduled-jobs.md +++ b/docs/backend/scheduled-jobs.md @@ -4,13 +4,12 @@ title: Scheduled Jobs # Scheduled Jobs -As in the [Technical Overview](/technical-overview), We use [Heroku -Scheduler](https://devcenter.heroku.com/articles/scheduler) for scheduled jobs. -As the name suggests, this is for regularly recurring tasks that need to be run -every day, week, month, year, decade, and century. +As in the [Technical Overview](/technical-overview), We use +[Heroku Scheduler](https://devcenter.heroku.com/articles/scheduler) for +scheduled jobs. As the name suggests, this is for regularly recurring tasks that +need to be run every day, week, month, year, decade, and century. -Tasks are implemented in `dev.to/lib/tasks/fetch.rake`, typically in the form -of: +Tasks are implemented in `forem/lib/tasks/fetch.rake`, typically in the form of: ``` task some_unique_task_name:, [optional_arg] => :environment do |optional_arg| @@ -18,11 +17,11 @@ task some_unique_task_name:, [optional_arg] => :environment do |optional_arg| end ``` -You can explore the [official Heroku -documentation](https://devcenter.heroku.com/articles/scheduler#defining-tasks) +You can explore the +[official Heroku documentation](https://devcenter.heroku.com/articles/scheduler#defining-tasks) for defining tasks and read through tasks we have implemented for busting cache, awarding badges, and more. -In your Pull Request, communicate with a DEV Core Team Member to discuss at what -frequency and ensure your task is scheduled on Heroku once your code is +In your Pull Request, communicate with a Forem Core Team Member to discuss at +what frequency and ensure your task is scheduled on Heroku once your code is reviewed, approved, and merged. diff --git a/docs/contributing/docs.md b/docs/contributing/docs.md index 3921ed3c8..3d56ea1be 100644 --- a/docs/contributing/docs.md +++ b/docs/contributing/docs.md @@ -2,7 +2,7 @@ title: Contributing to the Docs --- -# Contributing to DEV's developer documentation +# Contributing to Forem's developer documentation Contributions to the documentation are always appreciated! Thank you for making an effort to improve the developer experience of contributing to the DEV @@ -31,7 +31,7 @@ Alternatively, you can use Yarn: yarn global add gitdocs ``` -Once installed, you should run `gitdocs serve` from the root of the dev.to +Once installed, you should run `gitdocs serve` from the root of the `forem` project or from the `/docs` directory. ```shell @@ -84,7 +84,7 @@ lost over time. For more information on effective technical writing, check out [writethedocs.org][writethedocs]. -[docs]: https://github.com/thepracticaldev/dev.to/tree/master/docs/ +[docs]: https://github.com/forem/forem/tree/master/docs/ [gitdocs]: https://www.npmjs.com/package/gitdocs/ [markdown]: https://en.wikipedia.org/wiki/Markdown [frontmatter]: https://jekyllrb.com/docs/front-matter/ diff --git a/docs/contributing/forem.md b/docs/contributing/forem.md index aea60bba6..8fda1653b 100644 --- a/docs/contributing/forem.md +++ b/docs/contributing/forem.md @@ -19,20 +19,20 @@ contact the team with our [abuse report form](https://dev.to/report-abuse). ### Where to contribute -All [issues](https://github.com/thepracticaldev/dev.to/issues) labeled -[ready for dev](https://github.com/thepracticaldev/dev.to/issues?q=is%3Aissue+is%3Aopen+label%3A%22ready+for+dev%22) +All [issues](https://github.com/forem/forem/issues) labeled +[ready for dev](https://github.com/forem/forem/issues?q=is%3Aissue+is%3Aopen+label%3A%22ready+for+dev%22) and -[type: bug](https://github.com/thepracticaldev/dev.to/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+bug%22) +[type: bug](https://github.com/forem/forem/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+bug%22) are up for grabs. -- [good first issue](https://github.com/thepracticaldev/dev.to/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+) +- [good first issue](https://github.com/forem/forem/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22+) issues are meant for newer developers. -- [difficulty: easy](https://github.com/thepracticaldev/dev.to/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22) +- [difficulty: easy](https://github.com/forem/forem/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+easy%22) issues are usually confined to isolated areas of existing code. -- [difficulty: medium](https://github.com/thepracticaldev/dev.to/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+medium%22) +- [difficulty: medium](https://github.com/forem/forem/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+medium%22) issues sometimes entail new features and might affect a significant area of the codebase, but aren't overly complex. -- [difficulty: hard](https://github.com/thepracticaldev/dev.to/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+hard%22) +- [difficulty: hard](https://github.com/forem/forem/issues?q=is%3Aopen+is%3Aissue+label%3A%22difficulty%3A+hard%22) issues are typically far-reaching, and might need architecture decisions during implementation. This label might also denote highly complex issues. @@ -41,14 +41,14 @@ focus on changes that solve existing issues. We strongly encourage creating an issue before working on a PR! When in doubt, ask a -[core team member](https://github.com/thepracticaldev/dev.to/#core-team) by -mentioning us on the issue. +[core team member](https://github.com/forem/forem/#core-team) by mentioning us +on the issue. **Documentation** is almost always a great place to start contributing to a new project. Forem is an Open Source, community-driven project. Therefore, providing and maintaining quality documentation is one of our most important jobs. You can find more information in our -[docs guide](https://docs.dev.to/contributing/docs)! +[docs guide](https://docs.forem.com/contributing/docs)! **Refactoring**, which involves improving the code without modifying behavior, is a great place to help out! Generally speaking, you can rely on existing tests @@ -71,17 +71,17 @@ helpful. As always, when in doubt, ask! ### How to contribute -1. [Fork the project](https://docs.dev.to/getting-started/forking/) and clone it - to your local machine. Follow the - [installation guide](https://docs.dev.to/installation/)! +1. [Fork the project](https://docs.forem.com/getting-started/forking/) and clone + it to your local machine. Follow the + [installation guide](https://docs.forem.com/installation/)! 2. Create a branch with your GitHub username and the ID of the - [issue](https://github.com/thepracticaldev/dev.to/issues), for example: + [issue](https://github.com/forem/forem/issues), for example: `git checkout -b USERNAME/some-new-feature-1234` 3. Code and commit your changes. Bonus points if you write a [good commit message](https://chris.beams.io/posts/git-commit/): `git commit -m 'Add some feature'` 4. Push to the branch: `git push -u origin USERNAME/some-new-feature-1234` -5. [Create a pull request](https://docs.dev.to/getting-started/pull-request/) +5. [Create a pull request](https://docs.forem.com/getting-started/pull-request/) for your branch. 🎉 ## Contribution guidelines @@ -100,7 +100,7 @@ discussion._ Some areas of the project could use updated tests, and new features should always include test coverage. Please give our -[testing guide](https://docs.dev.to/tests/) a read! +[testing guide](https://docs.forem.com/tests/) a read! ### Code quality @@ -133,7 +133,7 @@ encourages more thoughtful code! [Draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/) feature. - Make sure all tests pass and add additional tests for the code you submit. - [More info here](https://docs.dev.to/tests/). + [More info here](https://docs.forem.com/tests/). - Document your reasoning behind the changes. Explain why you wrote the code in the way you did. The code should explain what it does. - If there's an existing issue, reference to it by adding something like diff --git a/docs/design/branding.md b/docs/design/branding.md index e81e63d48..83a62f27c 100644 --- a/docs/design/branding.md +++ b/docs/design/branding.md @@ -4,16 +4,16 @@ title: Branding Guidelines # Branding Guidelines -## DEV Theme +## Forem Theme -DEV's design inspiration is meant to be a throwback. In personality and design, -it is ATARI inspired. Magazines like PAPER are also an inspiration in terms of -being a +Forem's design inspiration is meant to be a throwback. In personality and +design, it is ATARI inspired. Magazines like PAPER are also an inspiration in +terms of being a [bold contrast with some more indy](https://www.google.com/search?biw=1440&bih=780&tbm=isch&sa=1&ei=KSN8W5WVLoy55gLI77TgBA&q=paper+magazine+cover&oq=paper+magazine+cover). -We also think in terms of how people use the DEV brand for their own purposes. +We also think in terms of how people use the Forem brand for their own purposes. Profiles are very much public-facing records of what people have put out into -the world. `dev.to/{username}` is your dev identity. +the world. `dev.to/{username}` is your developer identity. Imagine a developer's face with the DEV heading above them. If we existed in the 80's, we would have been "DEV MAGAZINE," with the exact same branding. @@ -23,12 +23,12 @@ Imagine a developer's face with the DEV heading above them. If we existed in the - [Joystick](http://www.pixelsagas.com/?download=joystick) should be used for logos, not for headlines/phrases. - Black and white is our default logo, but the logo can be drawn in any color. -- DEV is "old school cool." +- Forem/DEV is "old school cool." - We use bold shadows (no gradient) for boxes. - We have a minimal approach to importing dependencies, so few if any custom fonts on-site for that reason. - Refer to the `variables.scss` - [file in our main repo](https://github.com/thepracticaldev/dev.to/blob/master/app/assets/stylesheets/variables.scss) + [file in our main repo](https://github.com/forem/forem/blob/master/app/assets/stylesheets/variables.scss) to reference commonly-used colors and fonts. ## Design License Info diff --git a/docs/design/theming.md b/docs/design/theming.md index 30b165018..7d00d5bfb 100644 --- a/docs/design/theming.md +++ b/docs/design/theming.md @@ -4,7 +4,7 @@ title: Theming Guidelines # Theming Guidelines -DEV supports different themes, such as Default, Night, Pink. +Forem supports different themes, such as Default, Night, Pink. You can switch the theme at in the "Style Customization" section. diff --git a/docs/frontend/debugging.md b/docs/frontend/debugging.md index 44e4c3119..07ba14f1f 100644 --- a/docs/frontend/debugging.md +++ b/docs/frontend/debugging.md @@ -18,7 +18,7 @@ you debug your web application. Consider learning how to use them. [Visual Studio Code](https://code.visualstudio.com) (VS Code) is a popular editor that allows you to debug many languages including JavaScript. Thanks to remote debugging technologies, we can debug our frontend code in VS Code. When -you clone the DEV repository and open the project in VS Code, you will be +you clone the Forem repository and open the project in VS Code, you will be prompted to install recommended extensions which include the [Chrome Debugger](https://code.visualstudio.com/blogs/2016/02/23/introducing-chrome-debugger-for-vs-code) and the @@ -28,8 +28,8 @@ Setup: - Refer to the respective debugger extension documentation above to ensure that your browser is running with remote debugging enabled. -- Once you have your local installation of DEV running, you can attach to either - the Chrome or Edge Debugger. +- Once you have your local installation of Forem running, you can attach to + either the Chrome or Edge Debugger. ![Launch menu for debugger in VS Code](/vscode_launch_debugger.png 'Launch menu for debugger in VS Code') @@ -51,6 +51,6 @@ Preact has their of a browser extension. These tools are currently supported for Preact version 10.x and up. -DEV currently uses Preact 8.x so the Preact developer tools are not an option, +Forem currently uses Preact 8.x so the Preact developer tools are not an option, however Preact 8.x+ is compatible with the React developer tools extension which is available for Chrome and Firefox. diff --git a/docs/frontend/dynamic-imports.md b/docs/frontend/dynamic-imports.md index e3e763888..1790a474c 100644 --- a/docs/frontend/dynamic-imports.md +++ b/docs/frontend/dynamic-imports.md @@ -7,23 +7,23 @@ title: Dynamic Imports [Dynamic imports](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import/#Dynamic_Imports) are supported in all major browsers except for Edge ([EdgeHTML](https://en.wikipedia.org/wiki/EdgeHTML) version) and Internet -Explorer which are both unsupported browsers for DEV. They allow you to import +Explorer which are both unsupported browsers for Forem. They allow you to import JavaScript dynamically instead of statically. Why is this important? Performance. -Should you use them everywhere? No. They are a great tool when you need to load a -JavaScript module on the fly for functionality that is not needed immediately +Should you use them everywhere? No. They are a great tool when you need to load +a JavaScript module on the fly for functionality that is not needed immediately for the page to be usable. -Here are a couple of examples of dynamic import usage on DEV: +Here are a couple of examples of dynamic import usage on Forem: - The - [Onboarding flow](https://github.com/thepracticaldev/dev.to/blob/master/app/javascript/packs/Onboarding.jsx#L28). + [Onboarding flow](https://github.com/forem/forem/blob/master/app/javascript/packs/Onboarding.jsx#L28). - In - [connect](https://github.com/thepracticaldev/dev.to/blob/master/app/javascript/chat/codeEditor.jsx#L11) + [connect](https://github.com/forem/forem/blob/master/app/javascript/chat/codeEditor.jsx#L11) (chat) -DEV uses [webpacker](frontend/webpacker) (webpack), so what webpack will do is +Forem uses [webpacker](frontend/webpacker) (webpack), so what webpack will do is create separate bundles for code that is dynamically imported. So not only do we end up loading code only when we need it, we also end up with smaller bundle sizes in the frontend. diff --git a/docs/frontend/instant-click.md b/docs/frontend/instant-click.md index 5d299cfa5..3ba714d9c 100644 --- a/docs/frontend/instant-click.md +++ b/docs/frontend/instant-click.md @@ -14,7 +14,7 @@ Aside from prefetching pages, InstantClick also allows you to customize what happens when an InstantClick page changes. ```javascript -// Found in https://github.com/thepracticaldev/dev.to/blob/master/app/javascript/packs/githubRepos.jsx#L11) +// Found in https://github.com/forem/forem/blob/master/app/javascript/packs/githubRepos.jsx#L11) window.InstantClick.on('change', () => { loadElement(); }); @@ -24,7 +24,7 @@ You can also decide whether or not to reevaluate a script in an InstantClick loaded page via the `data-no-instant` attribute. ```javascript -// Found in https://github.com/thepracticaldev/dev.to/blob/master/app/assets/javascripts/utilities/buildCommentHTML.js.erb#L80 +// Found in https://github.com/forem/forem/blob/master/app/assets/javascripts/utilities/buildCommentHTML.js.erb#L80 function actions(comment) { if (comment.newly_created) { return '
\ diff --git a/docs/frontend/linting-formatting.md b/docs/frontend/linting-formatting.md index 6a8bf07cd..b5744c632 100644 --- a/docs/frontend/linting-formatting.md +++ b/docs/frontend/linting-formatting.md @@ -10,9 +10,9 @@ handles linting, but eslint rules related to code formatting, they get handled by prettier. For the most part, out of the box rules provided by the configurations that are extended are used but there are some tweaks. -DEV also has some objects that live in the global scope, e.g. Pusher. The eslint -globals section of the eslint configuration is what enables these to be reported -as existing when eslint runs. +Forem also has some objects that live in the global scope, e.g. Pusher. The +eslint globals section of the eslint configuration is what enables these to be +reported as existing when eslint runs. ```javascript globals: { diff --git a/docs/frontend/liquid-tags.md b/docs/frontend/liquid-tags.md index 7bdcebb80..b596d0c6f 100644 --- a/docs/frontend/liquid-tags.md +++ b/docs/frontend/liquid-tags.md @@ -5,13 +5,13 @@ title: Liquid Tags # Liquid Tags Liquid tags are special elements of the -[DEV Markdown editor](https://dev.to/new). +[Forem Markdown editor](https://dev.to/new). They are custom embeds that are added via a `{% %}` syntax. [Liquid](https://shopify.github.io/liquid/) is a templating language developed by Shopify. -Liquid embeds are for tweets, like `{% tweet 765282762081329153 %}` or a DEV +Liquid embeds are for tweets, like `{% tweet 765282762081329153 %}` or a Forem user profile preview, like `{% user jess %}` etc. They make for good community contributions because they can be extended and @@ -27,7 +27,7 @@ arguments they take. Currently, this could use improvements. _Note: Liquid tags are "compiled" when an article is saved. So you will need to re-save articles to see HTML changes._ -Here is a bunch of liquid tags supported on DEV: +Here is a bunch of liquid tags supported on Forem: ```liquid {% link https://dev.to/kazz/boost-your-productivity-using-markdown-1be %} @@ -37,7 +37,7 @@ Here is a bunch of liquid tags supported on DEV: {% podcast https://dev.to/basecspodcast/s2e2--queues-irl %} {% twitter 834439977220112384 %} {% glitch earthy-course %} -{% github thepracticaldev/dev.to %} +{% github forem/forem %} {% youtube dQw4w9WgXcQ %} {% vimeo 193110695 %} {% slideshare rdOzN9kr1yK5eE %} @@ -107,7 +107,7 @@ classes should generally be prepended by `ltag__`. e.g. `ltag__tag__content` etc. Here is an example of a good Liquid Tag pull request... -https://github.com/thepracticaldev/dev.to/pull/3801 +https://github.com/forem/forem/pull/3801 ### Restricting liquid tags by roles diff --git a/docs/frontend/plain-js.md b/docs/frontend/plain-js.md index 48eca3453..d35a779a2 100644 --- a/docs/frontend/plain-js.md +++ b/docs/frontend/plain-js.md @@ -4,7 +4,7 @@ title: JavaScript and Initializers # JavaScript and Initializers -DEV has two JavaScript codebases. +Forem has two JavaScript codebases. One is located in the directory `app/assets/javascripts` and contains plain JavaScript (mostly ES5+) being served using diff --git a/docs/frontend/styles.md b/docs/frontend/styles.md index b08bab379..d13a038b6 100644 --- a/docs/frontend/styles.md +++ b/docs/frontend/styles.md @@ -13,13 +13,13 @@ That is a bit of refactoring that needs to be done. PRs welcome! Important files when working with SASS in the project: - variables: - [/app/assets/stylesheets/variables.scss](https://github.com/thepracticaldev/dev.to/blob/master/app/assets/stylesheets/variables.scss) + [/app/assets/stylesheets/variables.scss](https://github.com/forem/forem/blob/master/app/assets/stylesheets/variables.scss) - mixins: - [/app/assets/stylesheets/_mixins.scss](https://github.com/thepracticaldev/dev.to/blob/master/app/assets/stylesheets/_mixins.scss) + [/app/assets/stylesheets/\_mixins.scss](https://github.com/forem/forem/blob/master/app/assets/stylesheets/_mixins.scss) SASS is compiled and served using [Sprockets](https://github.com/rails/sprockets-rails) which packages static assets in Rails. -For more about branding, theming or design in general in regards to DEV, refer +For more about branding, theming or design in general in regards to Forem, refer to the [Design Guide](/design) documentation. diff --git a/docs/frontend/webpacker.md b/docs/frontend/webpacker.md index 483e481f8..624c4efe1 100644 --- a/docs/frontend/webpacker.md +++ b/docs/frontend/webpacker.md @@ -4,7 +4,7 @@ title: Webpacker # Webpacker -DEV has two JavaScript codebases. +Forem has two JavaScript codebases. One contains plain JavaScript, [which you can read more about in this guide](/frontend/plain-js). @@ -18,8 +18,8 @@ integrated into the Rails app using `Webpacker`. There is a packs directory `/app/javascript/packs` where you can create new "pack" files. Pack files are initializers for Webpacker. -Since DEV is not a Single Page Application (SPA), Preact components are mounted -as needed by including the pack file in the view files. +Since Forem is not a Single Page Application (SPA), Preact components are +mounted as needed by including the pack file in the view files. For example: diff --git a/docs/getting-started/config-env.md b/docs/getting-started/config-env.md index c3f5a60be..2a2027e14 100644 --- a/docs/getting-started/config-env.md +++ b/docs/getting-started/config-env.md @@ -10,7 +10,7 @@ provides a fake default for any missing keys. The [backend guide][backend_guide] will show you how to get free API keys for additional services that may be required to run certain parts of the app. -To set up keys for your local instance of DEV, you'll need to create an +To set up keys for your local instance of Forem, you'll need to create an `application.yml` file. You can do this by copying the file called `sample_application.yml` in the `config` directory: diff --git a/docs/getting-started/db.md b/docs/getting-started/db.md index 5516ee33a..04f40e620 100644 --- a/docs/getting-started/db.md +++ b/docs/getting-started/db.md @@ -4,7 +4,7 @@ title: Preparing the Database # Preparing the database -The next step is to create and prepare the database. Because DEV is a Rails +The next step is to create and prepare the database. Because Forem is a Rails application, we have built-in tools to help us. We can use Rails to create our database, load the schema, and add some seed diff --git a/docs/getting-started/forking.md b/docs/getting-started/forking.md index 0903c7450..90a10b406 100644 --- a/docs/getting-started/forking.md +++ b/docs/getting-started/forking.md @@ -9,20 +9,21 @@ The first step in contributing to any Open Source project on GitHub is you're not familiar with the idea of forking a repository, [GitHub has a super simple tutorial][forking_tutorial]! -If you're ready to get started, [fork DEV's repository][fork_dev]! +If you're ready to get started, [fork Forem's repository][fork_dev]! Once you've got a fork on GitHub, you can clone your fork to run the project locally: ```shell -git clone https://github.com//dev.to.git +git clone https://github.com//forem.git ``` As time goes on, you may need to refresh your fork. If you have trouble with -that, you can read about [keeping a fork caught up on DEV][refresh_your_fork]! +that, you can read about [keeping a fork caught up on Forem][refresh_your_fork]! [forking]: https://help.github.com/en/articles/fork-a-repo -[fork_dev]: https://github.com/thepracticaldev/dev.to/fork +[fork_dev]: https://github.com/forem/forem/fork [forking_tutorial]: https://guides.github.com/activities/forking/ [pull_requests]: https://help.github.com/en/articles/about-pull-requests -[refresh_your_fork]: https://dev.to/jacobherrington/a-fool-proof-way-to-keep-your-fork-caught-up-in-git-2e2e +[refresh_your_fork]: + https://dev.to/jacobherrington/a-fool-proof-way-to-keep-your-fork-caught-up-in-git-2e2e diff --git a/docs/getting-started/pull-request.md b/docs/getting-started/pull-request.md index 4a4dcf553..237e3e22b 100644 --- a/docs/getting-started/pull-request.md +++ b/docs/getting-started/pull-request.md @@ -10,7 +10,7 @@ title: Preparing a Pull Request [Draft PR](https://github.blog/2019-02-14-introducing-draft-pull-requests/) feature. - Make sure all tests pass and add additional tests for the code you submit. - [More info here](https://docs.dev.to/tests/). + [More info here](https://docs.forem.com/tests/). - Document your reasoning behind the changes. Explain why you wrote the code in the way you did. The code should explain what it does. - If there's an existing issue related to the pull request, reference to it by @@ -21,6 +21,6 @@ title: Preparing a Pull Request - All commits in a pull request will be squashed when merged, but when your PR is approved and passes our CI, it will eventually be live on production! -If the pull request affects the public API in any way, a post on DEV from the -DEV Team account should accompany it. This is the duty of the core team to carry -out. +If the pull request affects the public API in any way, a post on Forem from the +Forem Team account should accompany it. This is the duty of the core team to +carry out. diff --git a/docs/getting-started/start-app.md b/docs/getting-started/start-app.md index ba5622999..1ef94536a 100644 --- a/docs/getting-started/start-app.md +++ b/docs/getting-started/start-app.md @@ -23,7 +23,7 @@ If you run into issues while trying to run `bin/setup` and the error message isn't helpful, try running `bin/rails s -p 3000`. For example, you may need to `yarn install` before starting the app. -If you're working on DEV regularly, you can use `alias start="bin/startup"` to +If you're working on Forem regularly, you can use `alias start="bin/startup"` to make this even easier. 😊 If you're using **`pry`** for debugging in Rails, note that using `foreman` and diff --git a/docs/getting-started/syncing.md b/docs/getting-started/syncing.md index 4eca8164d..9b391dcb0 100644 --- a/docs/getting-started/syncing.md +++ b/docs/getting-started/syncing.md @@ -4,15 +4,15 @@ title: Keeping Your Fork In Sync # Keeping your fork in sync -Now that you have a fork of DEV's source code, there is work you will need to do -to keep it updated. +Now that you have a fork of Forem's source code, there is work you will need to +do to keep it updated. ## Setup your upstream -Inside your DEV directory, add a remote to the official DEV repo: +Inside your Forem directory, add a remote to the official Forem repo: ```shell -git remote add upstream https://github.com/thepracticaldev/dev.to.git +git remote add upstream https://github.com/forem/forem.git ``` ## Rebasing from upstream diff --git a/docs/installation/containers.md b/docs/installation/containers.md index f7e1f0787..36f8defd4 100644 --- a/docs/installation/containers.md +++ b/docs/installation/containers.md @@ -2,10 +2,10 @@ title: Containers --- -# Installing DEV using Containers +# Installing Forem using Containers If you encounter any errors with our Container setup, please kindly -[report any issues](https://github.com/thepracticaldev/dev.to/issues/new/choose)! +[report any issues](https://github.com/forem/forem/issues/new/choose)! ## Installing prerequisites @@ -16,41 +16,49 @@ Docker or Podman._ A container engine is software that runs and manages containers on a computer. One of the most widely known Container Engines is Docker, but there are many -other Container Engines available, such as [Podman](https://podman.io/), [CRI-O](https://cri-o.io/), and [LXD](https://linuxcontainers.org/lxd/introduction/). +other Container Engines available, such as [Podman](https://podman.io/), +[CRI-O](https://cri-o.io/), and +[LXD](https://linuxcontainers.org/lxd/introduction/). -DEV supports two Container Engines: Docker and Podman. +Forem supports two Container Engines: Docker and Podman. ### Docker -DEV can be setup with Docker and Docker Compose on macOS or Linux systems. +Forem can be setup with Docker and Docker Compose on macOS or Linux systems. -Docker is available for many different operating systems. You may use Docker as your Container Engine on both macOS and Linux workstations. As of right now Docker is the only Container Engine for macOS and we recommend you follow the [Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/), +Docker is available for many different operating systems. You may use Docker as +your Container Engine on both macOS and Linux workstations. As of right now +Docker is the only Container Engine for macOS and we recommend you follow the +[Docker Desktop on Mac](https://docs.docker.com/docker-for-mac/install/), install instructions to get Docker and Docker Compose installed. Docker also works well on Linux distributions that have not moved to cgroup v2. -You can install it by following their [Installation per distro](https://docs.docker.com/engine/install/) -to get Docker and you can install Docker Compose by following these +You can install it by following their +[Installation per distro](https://docs.docker.com/engine/install/) to get Docker +and you can install Docker Compose by following these [instructions](https://docs.docker.com/compose/install/). ### Podman -DEV can be setup with Podman and Podman Compose on Linux systems. +Forem can be setup with Podman and Podman Compose on Linux systems. [Podman](https://podman.io/) is an FOSS project that provides a Container Engine that is daemonless which only runs on Linux systems. It can be run as the root -user or as a non-privileged user. It also provides a Docker-compatible -command line interface. Podman is available on many different Linux distributions -and it can be installed by following these [instructions](https://podman.io/getting-started/installation). +user or as a non-privileged user. It also provides a Docker-compatible command +line interface. Podman is available on many different Linux distributions and it +can be installed by following these +[instructions](https://podman.io/getting-started/installation). [Podman Compose](https://github.com/containers/podman-compose) is a an early project under development that is implementing docker-compose like experience -with Podman. You can install it by following these [instructions](https://github.com/containers/podman-compose#installation). +with Podman. You can install it by following these +[instructions](https://github.com/containers/podman-compose#installation). -## Setting up DEV +## Setting up Forem -1. Fork DEV's repository, e.g. +1. Fork Forem's repository, e.g. 1. Clone your forked repository, eg. - `git clone https://github.com//dev.to.git` + `git clone https://github.com//forem.git` 1. Set up your environment variables/secrets - Take a look at `Envfile`. This file lists all the `ENV` variables we use @@ -74,7 +82,7 @@ with Podman. You can install it by following these [instructions](https://github - You do not need "real" keys for basic development. Some features require certain keys, so you may be able to add them as you go. -## Running DEV with Docker via docker-compose +## Running Forem with Docker via docker-compose 1. Run `bin/container-setup` 2. That's it! Navigate to @@ -84,7 +92,7 @@ The script executes the following steps: 1. `docker-compose build` 2. `docker-compose up` -## Running DEV with Podman via podman-compose +## Running Forem with Podman via podman-compose 1. Run `bin/container-setup` 2. That's it! Navigate to diff --git a/docs/installation/gitpod.md b/docs/installation/gitpod.md index fa47c76d0..a195311bc 100644 --- a/docs/installation/gitpod.md +++ b/docs/installation/gitpod.md @@ -4,12 +4,11 @@ title: GitPod # GitPod -If you prefer working on a cloud IDE, you can spin up your own instance of DEV -in the cloud, using -[GitPod](https://gitpod.io/#https://github.com/thepracticaldev/dev.to). +If you prefer working on a cloud IDE, you can spin up your own instance of Forem +in the cloud, using [GitPod](https://gitpod.io/#https://github.com/forem/forem). [![Open in -Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/thepracticaldev/dev.to) +Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/forem/forem) -You can find more information about this, [in a DEV's -article](https://dev.to/ben/spin-up-a-local-instance-of-dev-in-the-cloud-with-gitpod-it-s-incredibly-simple-pij). +You can find more information about this, +[in a Forem's article](https://dev.to/ben/spin-up-a-local-instance-of-dev-in-the-cloud-with-gitpod-it-s-incredibly-simple-pij). diff --git a/docs/installation/linux.md b/docs/installation/linux.md index a3c5f0f95..357f0539e 100644 --- a/docs/installation/linux.md +++ b/docs/installation/linux.md @@ -2,7 +2,7 @@ title: Linux --- -# Installing DEV on Linux +# Installing Forem on Linux ## Installing prerequisites @@ -36,7 +36,7 @@ There are two ways to install Yarn. ### PostgreSQL -DEV requires PostgreSQL version 11 or higher. +Forem requires PostgreSQL version 11 or higher. 1. Run `sudo apt update && sudo apt install postgresql postgresql-contrib libpq-dev`. @@ -51,7 +51,8 @@ check out our [PostgreSQL setup guide](/installation/postgresql) or the official ### ImageMagick -DEV uses [ImageMagick](https://imagemagick.org/) to manipulate images on upload. +Forem uses [ImageMagick](https://imagemagick.org/) to manipulate images on +upload. Please refer to ImageMagick's [instructions](https://imagemagick.org/script/download.php) on how to install @@ -59,7 +60,7 @@ it. ### Redis -DEV requires Redis version 4.0 or higher. +Forem requires Redis version 4.0 or higher. We recommend following Digital Ocean's extensive [How To Install and Configure Redis on Ubuntu 16.04](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04) @@ -67,8 +68,8 @@ We recommend following Digital Ocean's extensive ### Elasticsearch -DEV requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is not -supported. We recommend version 7.5.2. +Forem requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is +not supported. We recommend version 7.5.2. We recommend following [Elasticsearch's guide for installing on Linux](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/targz.html#install-linux). @@ -80,11 +81,11 @@ or a NOTE: Make sure to download **the OSS version**, `elasticsearch-oss`. -## Installing DEV +## Installing Forem -1. Fork DEV's repository, e.g. +1. Fork Forem's repository, e.g. 1. Clone your forked repository, e.g. - `git clone https://github.com//dev.to.git` + `git clone https://github.com//forem.git` 1. Install bundler with `gem install bundler` 1. Set up your environment variables/secrets diff --git a/docs/installation/mac.md b/docs/installation/mac.md index ee5f8ee37..fe89c652f 100644 --- a/docs/installation/mac.md +++ b/docs/installation/mac.md @@ -2,7 +2,7 @@ title: macOS --- -# Installing DEV on macOS +# Installing Forem on macOS ## Installing prerequisites @@ -20,7 +20,7 @@ Please refer to their [installation guide](https://yarnpkg.com/en/docs/install). ### PostgreSQL -DEV requires PostgreSQL version 11 or higher. +Forem requires PostgreSQL version 11 or higher. The easiest way to get started is to use [Postgres.app](https://postgresapp.com/). Alternatively, check out the official @@ -31,13 +31,14 @@ For additional configuration options, check our ### ImageMagick -DEV uses [ImageMagick](https://imagemagick.org/) to manipulate images on upload. +Forem uses [ImageMagick](https://imagemagick.org/) to manipulate images on +upload. You can install ImageMagick with `brew install imagemagick`. ### Redis -DEV requires Redis version 4.0 or higher. +Forem requires Redis version 4.0 or higher. We recommend using [Homebrew](https://brew.sh): @@ -60,8 +61,8 @@ redis-cli ping ### Elasticsearch -DEV requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is not -supported. We recommend version 7.5.2. +Forem requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is +not supported. We recommend version 7.5.2. You have the option of installing Elasticsearch with Homebrew or through an archive. We recommend installing from archive on Mac. @@ -192,13 +193,13 @@ your local Elasticsearch installation, for example: } ``` -## Installing DEV +## Installing Forem -1. Fork DEV's repository, e.g. +1. Fork Forem's repository, e.g. 2. Clone your forked repository in one of two ways: - - e.g. with HTTPS: `git clone https://github.com//dev.to.git` - - e.g. with SSH: `git clone git@github.com:/dev.to.git` + - e.g. with HTTPS: `git clone https://github.com//forem.git` + - e.g. with SSH: `git clone git@github.com:/forem.git` 3. Install bundler with `gem install bundler` 4. Set up your environment variables/secrets diff --git a/docs/installation/readme.md b/docs/installation/readme.md index 6c0428e5b..456a9f7d3 100644 --- a/docs/installation/readme.md +++ b/docs/installation/readme.md @@ -13,11 +13,11 @@ items: # Installation Guide There are many different ways you can install the **development environment** so -you can help contribute code to DEV. +you can help contribute code to Forem. ## Installing locally -You can install DEV to your local machine and we have instructions for +You can install Forem to your local machine and we have instructions for [Mac](/installation/mac), [Windows](/installation/windows) and [Linux](/installation/linux). @@ -27,10 +27,10 @@ Installing to your local machine can be troublesome for many reasons such as a conflicting database and runtime versions. Another way you can get a development environment up and running is with -containers. They will set up everything you need in an isolated -environment, and you need not worry about the details of setting everything up -locally. We have instructions for getting set up with -[containers](/installation/containers) quickly. +containers. They will set up everything you need in an isolated environment, and +you need not worry about the details of setting everything up locally. We have +instructions for getting set up with [containers](/installation/containers) +quickly. ## GitPod _- beginner friendly!_ diff --git a/docs/installation/windows.md b/docs/installation/windows.md index ba148ca8c..0399f66c0 100644 --- a/docs/installation/windows.md +++ b/docs/installation/windows.md @@ -2,7 +2,7 @@ title: Windows --- -# Installing DEV on Windows 10 +# Installing Forem on Windows 10 ## Installing prerequisites @@ -11,7 +11,7 @@ system machine._ ### Installing WSL -Since DEV's codebase is using the Ruby on Rails framework, we will need to +Since Forem's codebase is using the Ruby on Rails framework, we will need to install Windows Subsystem for Linux. Some dependencies used by the source code triggered errors when installing on Windows, so using WSL allows you to work on the software and not having to fix gem incompatibilities. @@ -108,7 +108,7 @@ work fully. We install Node.js later on in the installation process. ### PostgreSQL -DEV requires PostgreSQL version 11 or higher. +Forem requires PostgreSQL version 11 or higher. If you don't have PostgreSQL installed on your Windows system, you can do so right now. WSL is able to connect to a PostgreSQL instance on your Windows @@ -126,7 +126,8 @@ For additional configuration options, check our ### ImageMagick -DEV uses [ImageMagick](https://imagemagick.org/) to manipulate images on upload. +Forem uses [ImageMagick](https://imagemagick.org/) to manipulate images on +upload. Please refer to ImageMagick's [instructions](https://imagemagick.org/script/download.php) on how to install @@ -134,7 +135,7 @@ it. ### Redis -DEV requires Redis version 4.0 or higher. +Forem requires Redis version 4.0 or higher. We recommend to follow [this guide](https://redislabs.com/blog/redis-on-windows-10/) to run Redis under @@ -142,8 +143,8 @@ WSL. ### Elasticsearch -DEV requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is not -supported. We recommend version 7.5.2. +Forem requires a version of Elasticsearch between 7.1 and 7.5. Version 7.6 is +not supported. We recommend version 7.5.2. We recommend following the install guide [in Elasticsearch's docs](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/zip-windows.html) @@ -151,13 +152,13 @@ for installing on Windows machines. NOTE: Make sure to download **the OSS version**, `elasticsearch-oss`. -## Installing DEV +## Installing Forem -1. Fork DEV's repository, eg. +1. Fork Forem's repository, eg. 1. Clone your forked repository, eg. - `git clone https://github.com//dev.to.git` -1. Open the cloned dev.to folder in terminal with `cd dev.to`. Next, install - Ruby with the following commands: + `git clone https://github.com//forem.git` +1. Open the cloned forem folder in terminal with `cd forem`. Next, install Ruby + with the following commands: ```shell rbenv install $(cat .ruby-version) diff --git a/docs/internal/internal-search.md b/docs/internal/internal-search.md index a56eabc3f..cb3e009e5 100644 --- a/docs/internal/internal-search.md +++ b/docs/internal/internal-search.md @@ -9,16 +9,16 @@ chosen to use [Ransack][ransack]. Ransack is a Ruby gem that makes searching relatively painless. It has excellent documentation, but if you're looking for an example of how it's being used on -DEV, we've implemented it to help searching and sorting user reports. +Forem, we've implemented it to help searching and sorting user reports. The view responsible for managing user reports can be found at `localhost:3000/internal/reports` and Ransack can be seen in use on the index action of the [`internal/feedback_messages_controller`][feedback_messages]. -For DEV, Ransack is being used exclusively in internal, for search problems in +For Forem, Ransack is being used exclusively in internal, for search problems in other parts of the app we use [Elasticsearch][elasticsearch]. [feedback_messages]: - https://github.com/thepracticaldev/dev.to/blob/4e41e4a2ac893fa2a6c36990cfe475858ffb086a/app/controllers/internal/feedback_messages_controller.rb#L4 + https://github.com/forem/forem/blob/4e41e4a2ac893fa2a6c36990cfe475858ffb086a/app/controllers/internal/feedback_messages_controller.rb#L4 [ransack]: https://github.com/activerecord-hackery/ransack [elasticsearch]: /backend/elasticsearch diff --git a/docs/internal/internal-user-interface.md b/docs/internal/internal-user-interface.md index afca94e5d..d3f027e87 100644 --- a/docs/internal/internal-user-interface.md +++ b/docs/internal/internal-user-interface.md @@ -10,9 +10,10 @@ Largely, we try to adhere to conventions in these views. For layout, basic styles, and some interactions, we use -[Bootstrap 4](https://getbootstrap.com/). DEV isn't dedicated to using Bootstrap -for everything, but because our design team hasn't spent much time on these -views, we find it's easier to stick with something many developers already know. +[Bootstrap 4](https://getbootstrap.com/). Forem isn't dedicated to using +Bootstrap for everything, but because our design team hasn't spent much time on +these views, we find it's easier to stick with something many developers already +know. When a view requires some custom interactivity, we've historically leaned on vanilla JavaScript or jQuery, but going forward we've elected to use @@ -31,7 +32,7 @@ We tend to prefer the `form_with` helper over the previous `form_for` and Stimulus is a modest frontend framework; its primary purpose is manipulating HTML. It does not provide templating features. -In the DEV application, [Webpacker](/frontend/webpacker/) is used to load +In the Forem application, [Webpacker](/frontend/webpacker/) is used to load Stimulus controllers. Ideally, controllers serve as an abstraction for shared functionality between views. diff --git a/docs/internal/readme.md b/docs/internal/readme.md index 1cd4a3fe2..2fd8f4a5e 100644 --- a/docs/internal/readme.md +++ b/docs/internal/readme.md @@ -7,12 +7,12 @@ items: # Internal Guide -The DEV application contains a rudimentary administration dashboard that lives +The Forem application contains a rudimentary administration dashboard that lives behind the internal route. The internal dashboard is made up of a series of views that range from administration tools to simplified reports. These tools are used by users with -the `admin` or `super_admin` roles to administrate the DEV application. +the `admin` or `super_admin` roles to administrate the Forem application. Authorization for these tools is handled by the [Rolify][rolify] gem. diff --git a/docs/licensing.md b/docs/licensing.md index 5bf8e648d..640dcfb6a 100644 --- a/docs/licensing.md +++ b/docs/licensing.md @@ -8,12 +8,13 @@ This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Please see the -[LICENSE](https://github.com/thepracticaldev/dev.to/blob/master/LICENSE.md) file -in our repository for the full text. +[LICENSE](https://github.com/forem/forem/blob/master/LICENSE.md) file in our +repository for the full text. Like many open source projects, we require that contributors provide us with a -Contributor License Agreement (CLA). By submitting code to the DEV project, you -are granting us a right to use that code under the terms of the CLA. +Contributor License Agreement (CLA). By submitting code to the Forem/DEV +project, you are granting us a right to use that code under the terms of the +CLA. Our version of the CLA was adapted from the Microsoft Contributor License Agreement, which they generously made available to the public domain under @@ -21,12 +22,12 @@ Creative Commons CC0 1.0 Universal. ## Where can I learn more about the AGPL-3 license? -Please refer to the official “[Why the Affero -GPL](https://www.gnu.org/licenses/why-affero-gpl.html)” and the [FAQ -page](https://www.gnu.org/licenses/gpl-faq.html) on +Please refer to the official +“[Why the Affero GPL](https://www.gnu.org/licenses/why-affero-gpl.html)” and the +[FAQ page](https://www.gnu.org/licenses/gpl-faq.html) on [GNU.org](https://www.gnu.org) for full details regarding this license. -## Why does DEV have a CLA? +## Why does Forem have a CLA? The Contributor License Agreement (CLA) is a legal document in which you state that you are entitled to contribute your code to the DEV codebase, and are @@ -38,7 +39,7 @@ permissions at a later date. ## Am I giving away the copyright of my contributions? -No. You are granting DEV a license to use and distribute your contribution +No. You are granting Forem a license to use and distribute your contribution without further restriction, not assigning the copyright. ## What if I have other questions? diff --git a/docs/maintainers/deploying.md b/docs/maintainers/deploying.md index b5a084285..d81596450 100644 --- a/docs/maintainers/deploying.md +++ b/docs/maintainers/deploying.md @@ -2,7 +2,7 @@ title: Deployment Guide --- -# Deploying DEV +# Deploying Forem Anyone with the ability to merge PRs on GitHub can deploy the application. Remember that this is a shared responsibility, so everyone should deploy code @@ -24,7 +24,7 @@ any deployment! ## Overview -DEV relies on GitHub and Travis to deploy continuously to Heroku. If a Pull +Forem relies on GitHub and Travis to deploy continuously to Heroku. If a Pull Request is merged with a `[deploy]` in its title, it will be automatically deployed to production once the build steps complete successfully. The process currently takes about 20 minutes to complete and will need a few additional @@ -33,9 +33,9 @@ minutes before the change goes live. ## Travis Stages The following stages can be explored in our -[.travis.yml](https://github.com/thepracticaldev/dev.to/blob/master/.travis.yml) -and [Procfile](https://github.com/thepracticaldev/dev.to/blob/master/Procfile). -Our Travis CI process consists of 2 stages. +[.travis.yml](https://github.com/forem/forem/blob/master/.travis.yml) and +[Procfile](https://github.com/forem/forem/blob/master/Procfile). Our Travis CI +process consists of 2 stages. 1. Running our test suite in 3 parallel jobs. 2. Deploying the application if we have merged with the master branch and the diff --git a/docs/maintainers/pull_requests.md b/docs/maintainers/pull_requests.md index cd9226968..39026855b 100644 --- a/docs/maintainers/pull_requests.md +++ b/docs/maintainers/pull_requests.md @@ -65,4 +65,4 @@ All required checks such as CI and Code Climate should be green. Once a PR is merged, it might need to be deployed. Deployment is a team responsibility, and everyone on the core team should be comfortable deploying code. For more information, read the -[deployment guide](https://docs.dev.to/maintainers/deployment). +[deployment guide](https://docs.forem.com/maintainers/deployment). diff --git a/docs/netlify.toml b/docs/netlify.toml index 301a43456..98a0b517a 100644 --- a/docs/netlify.toml +++ b/docs/netlify.toml @@ -7,56 +7,3 @@ [build] command = "make" - -[[redirects]] - force = true - from = "http://docs.dev.to" - to = "https://docs.dev.to" -[[redirects]] - force = true - from = "http://docs.dev.to/ruby-doc" - to = "https://docs.dev.to/ruby-doc/index.html" -[[redirects]] - force = true - from = "http://docs.dev.to/ruby-doc/" - to = "https://docs.dev.to/ruby-doc/index.html" -[[redirects]] - force = true - from = "http://docs.dev.to/api" - to = "https://docs.dev.to/api/index.html" -[[redirects]] - force = true - from = "http://docs.dev.to/api/" - to = "https://docs.dev.to/api/index.html" -[[redirects]] - force = true - from = "http://docs.dev.to/*" - to = "https://docs.dev.to/:splat" - status = 301 -[[redirects]] - force = true - from = "docs.dev.to" - to = "https://docs.dev.to" -[[redirects]] - force = true - from = "docs.dev.to/*" - to = "https://docs.dev.to/:splat" - status = 301 -[[redirects]] - force = true - from = "http://devto.netlify.com" - to = "https://docs.dev.to" -[[redirects]] - force = true - from = "http://devto.netlify.com/*" - to = "https://docs.dev.to/:splat" - status = 301 -[[redirects]] - force = true - from = "https://devto.netlify.com" - to = "https://docs.dev.to" -[[redirects]] - force = true - from = "https://devto.netlify.com/*" - to = "https://docs.dev.to/:splat" - status = 301 diff --git a/docs/readme.md b/docs/readme.md index cad1013ad..d2250e2c1 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -16,23 +16,24 @@ items: - maintainers --- -# Welcome to DEV's developer documentation +# Welcome to Forem's developer documentation On this site you'll find instructions to setup a [local instance of -DEV][installation], documentation on the [architecture of DEV][architecture], -[how to contribute][contributing], and many other useful documents. +Forem][installation], documentation on the [architecture of +Forem][architecture], [how to contribute][contributing], and many other useful +documents. This documentation site is the product of a number of volunteer contributors -working alongside the DEV Core Team, special thanks to all those who have +working alongside the Forem Core Team, special thanks to all those who have contributed to the documentation. # Running the documentation locally -Like DEV, this site is open source and the code is [hosted on GitHub][docs]. If -you find any incorrect information, or a even a typo, we'd love to see a pull +Like Forem, this site is open source and the code is [hosted on GitHub][docs]. +If you find any incorrect information, or a even a typo, we'd love to see a pull request. Follow these steps to get the documentation site running locally. -DEV's documentation is built with [GitDocs NodeJS library][gitdocs]. +Forem's documentation is built with [GitDocs NodeJS library][gitdocs]. The first step to running the documentations locally is to install the `GitDocs` package globally. @@ -49,7 +50,7 @@ Alternatively, you can use Yarn: yarn global add gitdocs ``` -Once installed, you should run `gitdocs serve` from the root of the dev.to +Once installed, you should run `gitdocs serve` from the root of the `forem` project or from the `/docs` directory. ```shell @@ -70,5 +71,5 @@ If you're looking for more information on contributing, check out the [installation]: /installation/ [architecture]: /technical-overview/architecture/ [contributing]: /contributing/ -[docs]: https://github.com/thepracticaldev/dev.to/tree/master/docs/ +[docs]: https://github.com/forem/forem/tree/master/docs/ [gitdocs]: https://www.npmjs.com/package/gitdocs/ diff --git a/docs/self-hosting.md b/docs/self-hosting.md index 2fc182598..434bc0fd9 100644 --- a/docs/self-hosting.md +++ b/docs/self-hosting.md @@ -28,11 +28,13 @@ platform. - Certain aspects of the app are currently hardcoded. For instance: logos, certain elements of content, etc. If you were to host the current version of - the app, you would be inadvertently impersonating the core dev.to project. -- DEV has commercial licenses for certain design components as described in our - [Design License Info](https://docs.dev.to/design/branding/#design-license-info) - section. These licenses are specific to the dev.to project, and may not extend - to self-hosted versions. + the app, you would be inadvertently impersonating the core Forem/dev.to + project. +- Forem/DEV has commercial licenses for certain design components as described + in our + [Design License Info](https://docs.forem.com/design/branding/#design-license-info) + section. These licenses are specific to the Forem/dev.to project, and may not + extend to self-hosted versions. ### I want to stand up my own entity using the Forem codebase, how can I help? diff --git a/docs/technical-overview/architecture.md b/docs/technical-overview/architecture.md index a07521950..879687a3c 100644 --- a/docs/technical-overview/architecture.md +++ b/docs/technical-overview/architecture.md @@ -28,7 +28,7 @@ To avoid blocking the initial render, we frequently write critical CSS inline, and we use the `defer` attribute to accelerate page loads. This practice results in a faster page load, and doesn't leave users waiting on heavy assets. However, this practice limits our ability to manipulate layout with JavaScript. As a -rule, you should avoid relying on JavaScript for layout when working on DEV. +rule, you should avoid relying on JavaScript for layout when working on Forem. ## We attempt to reduce our bundle size @@ -78,7 +78,7 @@ shared among all users. ## Inter-page navigation -DEV uses a variation of "instant click", via +Forem uses a variation of "instant click", via [InstantClick](/frontend/instant-click), which swaps out page content instead of making full-page requests. This approach is similar to the one used by the Rails gem `Turbolinks`, but our approach is more lightweight. The library is modified @@ -150,7 +150,7 @@ The functionality of credits may be expanded in the future. Users can belong to organizations, which have their own profile pages where posts can be published etc. This can be any group endeavor such as a company, an -open source project, or any standalone publication on DEV. +open source project, or any standalone publication on Forem. ## Reactions diff --git a/docs/technical-overview/stack.md b/docs/technical-overview/stack.md index 7ab6ea069..583ad187b 100644 --- a/docs/technical-overview/stack.md +++ b/docs/technical-overview/stack.md @@ -4,7 +4,7 @@ title: Stack ## 🔑 Key App tech/services -For the Dev.to tech stack we use: +For the Forem tech stack we use: - [_Puma_](https://github.com/puma/puma) as the web server - [_PostgreSQL_](https://www.postgresql.org/) as the primary database diff --git a/docs/tests/accessibility-tests.md b/docs/tests/accessibility-tests.md index 6a905ee36..cd7cef81e 100644 --- a/docs/tests/accessibility-tests.md +++ b/docs/tests/accessibility-tests.md @@ -5,10 +5,11 @@ title: Accessibility Tests # Accessibility Tests Accessibility testing is a form of automated and manual testing that helps us -identify some of the potential accessibility concerns on DEV. +identify some of the potential accessibility concerns on Forem. -Many a11y issues are not obvious to everyone who contributes to the DEV project, -therefore leaning on tools to help us identify these issues is a good practice. +Many a11y issues are not obvious to everyone who contributes to the Forem +project, therefore leaning on tools to help us identify these issues is a good +practice. It's a good idea to use browser plugins while you're developing to keep an eye out for these issues, as well as including automated tests to catch regressions @@ -20,7 +21,7 @@ find potential a11y issues in your workflow. ## Automated testing in Preact -An overarching a11y testing strategy isn't currently in place for the DEV +An overarching a11y testing strategy isn't currently in place for the Forem application, but there are some automated tools you can take advantage of in this project. @@ -31,5 +32,5 @@ testing as well. When you're writing Preact components, you can include some basic a11y testing in your unit tests with [jest-axe](https://github.com/nickcolley/jest-axe). -If you're still curious [there are some great talks on accessibility for -developers](https://www.youtube.com/watch?v=8E9AEZjglqI). +If you're still curious +[there are some great talks on accessibility for developers](https://www.youtube.com/watch?v=8E9AEZjglqI). diff --git a/docs/tests/codeclimate.md b/docs/tests/codeclimate.md index a00bf402b..d2f170d4f 100644 --- a/docs/tests/codeclimate.md +++ b/docs/tests/codeclimate.md @@ -4,18 +4,17 @@ title: Code Climate # Code Climate -We are using [Code -Climate](https://codeclimate.com/github/thepracticaldev/dev.to) to track code -quality and coverage. +We are using [Code Climate](https://codeclimate.com/github/forem/forem) to track +code quality and coverage. Code Climate offers metrics regarding code quality for each individual PR, however, it does not calculate these metrics for the entirety of the project. If you'd like update the current linting rule, feel free to submit a PR to change it. -Before merging a PR to DEV, we expected Code Climate to pass on that PR. If you -find Code Climate raising errors on your PR, please fix those issues. Do your -best to leave code in a better state than you found it! +Before merging a PR to Forem, we expected Code Climate to pass on that PR. If +you find Code Climate raising errors on your PR, please fix those issues. Do +your best to leave code in a better state than you found it! We don't want to make a habit of pandering to Code Climate and its metrics blindly, so if you're in doubt regarding a suggestion on your PR please start a diff --git a/docs/tests/readme.md b/docs/tests/readme.md index fa6105fe0..1ea6560c5 100644 --- a/docs/tests/readme.md +++ b/docs/tests/readme.md @@ -34,8 +34,8 @@ a bug. Ideally, we test the functionality of the frontend and the backend. If you'd like to help us improve our test coverage, we recommend checking out our total coverage and writing tests for selected files based on SimpleCov's test coverage results. You can also check out -[Code Climate summary](https://codeclimate.com/github/thepracticaldev/dev.to) -which includes the test coverage. +[Code Climate summary](https://codeclimate.com/github/forem/forem) which +includes the test coverage. If you're new to writing tests in general or with Rails, we recommend reading about @@ -59,7 +59,7 @@ run into any issues. Strive to write good tests for the code you wish to contribute. Travis will deploy your pull request to production after CI passes and a member -of the DEV team has approved it. +of the Forem team has approved it. Our test suite is not perfect and sometimes a re-run is needed. If you encounter a "flaky spec" that fails intermittently please open an issue so we can address diff --git a/docs/tests/regression-tests.md b/docs/tests/regression-tests.md index acf35805c..88dc96d5a 100644 --- a/docs/tests/regression-tests.md +++ b/docs/tests/regression-tests.md @@ -22,12 +22,12 @@ breaking previously functional software. There is no perfect prescribed method for Regression testing, and it has evolved with the introduction of [Continuous Integration][ci] practices like the ones -that DEV uses. However, CI doesn't replace the need for Regression testing. +that Forem uses. However, CI doesn't replace the need for Regression testing. Regression tests should still be added to the codebase when bugs are discovered. -If you submit a bug patch to the DEV application, you might be asked to write a -Regression test around your patch to help warn future DEV contributors if that -bug ever makes another appearance. This practice has the added benefit of +If you submit a bug patch to the Forem application, you might be asked to write +a Regression test around your patch to help warn future Forem contributors if +that bug ever makes another appearance. This practice has the added benefit of helping to ensure your patch fixes the bug. [acceptance_tests]: /tests/acceptance-tests/ diff --git a/docs/tests/unit-functional-tests.md b/docs/tests/unit-functional-tests.md index 9048b024b..c30f4cd3f 100644 --- a/docs/tests/unit-functional-tests.md +++ b/docs/tests/unit-functional-tests.md @@ -39,8 +39,9 @@ where `10` is the line number of the test case that you want to execute. ## Testing Controllers Historically, it has been common to use Rspec to write tests for Rails -controllers. This pattern isn't necessarily discouraged in the DEV codebase, but -Rspec has introduced a more effective way to test controllers via Request Specs. +controllers. This pattern isn't necessarily discouraged in the Forem codebase, +but Rspec has introduced a more effective way to test controllers via Request +Specs. Request specs test the actions on a controller across the entire stack, effectively acting as Integration Tests. You can read more about request specs