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.

@@ -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).
[](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