diff --git a/docs/administration-guide/databases/bigquery.md b/docs/administration-guide/databases/bigquery.md
index ec18485765b5f07def0f402916b3f47d608049d4..63bcf01663270a360ae0397ce9ab0e9adbeba792 100644
--- a/docs/administration-guide/databases/bigquery.md
+++ b/docs/administration-guide/databases/bigquery.md
@@ -18,11 +18,11 @@ To create the service account JSON file, follow Google's documentation on [setti
 
 3. **Grant the service account access to this project**. You'll need to add **roles** to the service account so that Metabase will have permission to view and run queries against your dataset. Make sure you add the following roles to the service account:
 
-    - BigQuery Data Viewer
-    - BigQuery Metadata Viewer
-    - BigQuery Job User (distinct from BigQuery User)
+   - BigQuery Data Viewer
+   - BigQuery Metadata Viewer
+   - BigQuery Job User (distinct from BigQuery User)
 
-    For more information on **roles** in BigQuery, see [Google Cloud Platform's documentation](https://cloud.google.com/bigquery/docs/access-control).
+   For more information on **roles** in BigQuery, see [Google Cloud Platform's documentation](https://cloud.google.com/bigquery/docs/access-control).
 
 4. **Create key**. Once you have assigned roles to the service account, click on the **Create Key** button, and select **JSON** for the **key type**. The JSON file will download to your computer.
 
@@ -30,7 +30,7 @@ To create the service account JSON file, follow Google's documentation on [setti
 
 ## Metabase: adding a BigQuery dataset
 
-Once you have created and downloaded your service account JSON file for your BigQuery dataset, head over to your Metabase instance, click on the **settings** cog, and select **Admin** to bring up Admin mode. In the **Databases** section, click on the **Add database** button in the upper right. 
+Once you have created and downloaded your service account JSON file for your BigQuery dataset, head over to your Metabase instance, click on the **settings** cog, and select **Admin** to bring up Admin mode. In the **Databases** section, click on the **Add database** button in the upper right.
 
 On the **ADD DATABASE** page, select **BigQuery** from the **Database type** dropdown. Metabase will present you with the relevant configuration settings to fill out:
 
@@ -50,7 +50,7 @@ Each BigQuery dataset will have a **Dataset ID**. You can find this ID via the [
 
 #### Service account JSON file
 
-Upload the service account JSON file you created when following the [steps above](#google-cloud-platform:-creating-a-service-account-and-json-file). The JSON file contains the credentials your Metabase application will need to read and query your dataset, as defined by the **roles** you added to the service account. If you need to add additional **roles**, you have to create another service account, download the JSON file, and upload the file to Metabase.
+Upload the service account JSON file you created when following the [steps above](#google-cloud-platform-creating-a-service-account-and-json-file). The JSON file contains the credentials your Metabase application will need to read and query your dataset, as defined by the **roles** you added to the service account. If you need to add additional **roles**, you have to create another service account, download the JSON file, and upload the file to Metabase.
 
 #### Use the Java Virtual Machine (JVM) timezone
 
diff --git a/docs/administration-guide/databases/mongodb.md b/docs/administration-guide/databases/mongodb.md
index 9f4946ecbd0d82afd051ca73528b4f09274cad2c..1d509c65242ff8bc3b73673d47b553a293aa34a1 100644
--- a/docs/administration-guide/databases/mongodb.md
+++ b/docs/administration-guide/databases/mongodb.md
@@ -12,6 +12,7 @@ This article covers:
 Go to Admin -> Databases, and click the **Add database** button. Select MongoDB from the dropdown.
 
 There are two ways to connect to MongoDB:
+
 1. Using the [Metabase fields to input your connection details](#using-metabase-fields).
 2. Pasting your [connection string](#using-a-connection-string).
 
@@ -49,19 +50,19 @@ If you need to use a certificate, connect via the [default method](#using-metaba
 ### Settings common to both connection options
 
 - **Use an SSH tunnel for database connections.** Some database installations can only be accessed by connecting through an SSH bastion host. This option also provides an extra layer of security when a VPN is not available. Enabling this is usually slower than a direct connection.
-- **Automatically run queries when doing simple filtering and summarizing.** When this is on, Metabase will automatically run queries when users do simple explorations with the Summarize and Filter buttons when viewing a table or chart. You can turn this off if querying this database is slow. This setting doesn’t affect drill-throughs or SQL queries. 
+- **Automatically run queries when doing simple filtering and summarizing.** When this is on, Metabase will automatically run queries when users do simple explorations with the Summarize and Filter buttons when viewing a table or chart. You can turn this off if querying this database is slow. This setting doesn’t affect drill-throughs or SQL queries.
 - **This is a large database, so let me choose when Metabase syncs and scans.** By default, Metabase does a lightweight hourly sync and an intensive daily scan of field values. If you have a large database, we recommend turning this on and reviewing when and how often the field value scans happen.
 
- ## Configuring SSL via the command line
- 
- You can enter a self-signed certificate via the Metabase UI (though not when using a connection string), or you can use the command line to add a self-signed certificate. 
+## Configuring SSL via the command line
+
+You can enter a self-signed certificate via the Metabase UI (though not when using a connection string), or you can use the command line to add a self-signed certificate.
 
- ```
- cp /usr/lib/jvm/default-jvm/jre/lib/security/cacerts ./cacerts.jks
- keytool -import -alias cacert -storepass changeit -keystore cacerts.jks -file my-cert.pem
-  ```
+```
+cp /usr/lib/jvm/default-jvm/jre/lib/security/cacerts ./cacerts.jks
+keytool -import -alias cacert -storepass changeit -keystore cacerts.jks -file my-cert.pem
+```
 
- Then, start Metabase using the store:
+Then, start Metabase using the store:
 
 ```
 java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStorePassword=changeit -jar metabase.jar
@@ -71,30 +72,27 @@ Learn more about [configuring SSL with MongoDB](http://mongodb.github.io/mongo-j
 
 ## Connecting to a MongoDB Atlas cluster
 
- To make sure you are using the correct connection configuration:
+To make sure you are using the correct connection configuration:
 
-  1. Log into your [Atlas cluster](https://cloud.mongodb.com)
+1. Log into your [Atlas cluster](https://cloud.mongodb.com)
 
-  2. Select the cluster you want to connect to, and click **Connect**.
+2. Select the cluster you want to connect to, and click **Connect**.
 
-     ![Your cluster screengrab](../images/mongo_1.png "Your cluster")
+   ![Your cluster screengrab](../images/mongo_1.png "Your cluster")
 
-  3. Click **Connect Your Application**.
+3. Click **Connect Your Application**.
 
-     ![Connect screengrab](../images/mongo_2.png "Connect")
+   ![Connect screengrab](../images/mongo_2.png "Connect")
 
-  4. Select **Java** and **3.6 or later**.
+4. Select **Java** and **3.6 or later**.
 
-     ![Java screengrab](../images/mongo_3.png "Java")
+   ![Java screengrab](../images/mongo_3.png "Java")
 
-  5. The resulting connection string has the relevant information to provide to Metabase's `Add a Database` form for MongoDB.
- 
-  6. You will likely want to select the option `Use DNS SRV`, which newer Atlas clusters use by default.
+5. The resulting connection string has the relevant information to provide to Metabase's `Add a Database` form for MongoDB.
 
-## General connectivity concerns
-
- - **Connect using `DNS SRV`**, which is the recommended method for newer Atlas clusters.
-
- - **Have you checked your cluster host whitelist?** When testing a connection but seeing failure, have you tried setting the IP whitelist to `0.0.0.0/0`?  Whitelisting this address allows connections from any IP addresses. If you know the IP address(es) or CIDR block of clients, use that instead.
+6. You will likely want to select the option `Use DNS SRV`, which newer Atlas clusters use by default.
 
+## General connectivity concerns
 
+- **Connect using `DNS SRV`**, which is the recommended method for newer Atlas clusters.
+- **Have you checked your cluster host whitelist?** When testing a connection but seeing failure, have you tried setting the IP whitelist to `0.0.0.0/0`? Whitelisting this address allows connections from any IP addresses. If you know the IP address(es) or CIDR block of clients, use that instead.
diff --git a/docs/data-warehousing.md b/docs/data-warehousing.md
index 66ea1c1cbbdc9b74b97585c11ce0ed2892d5854f..1337c246df32665441c81dc422a6df619b8b98e2 100644
--- a/docs/data-warehousing.md
+++ b/docs/data-warehousing.md
@@ -20,7 +20,7 @@ Assuming you do not need to do a lot of transformation or ingest lots of third p
 
 ## Dedicated analytics database
 
-Typically once enough data is in the system and/or the tranformation needs are complex enough, a dedicated analytics database is used. There are many options ranging from a normal general purpose database (MySQL, Postgres, SQL Server, etc), to a dedicated Analytics database (Vertica, Redshift, GreenPlum, Terredata, etc), the new generation of SQL on Hadoop databases (Spark, Presto) or NoSQL databases (Druid, Cassandra, etc). 
+Typically once enough data is in the system and/or the transformation needs are complex enough, a dedicated analytics database is used. There are many options ranging from a normal general purpose database (MySQL, Postgres, SQL Server, etc), to a dedicated Analytics database (Vertica, Redshift, GreenPlum, Terredata, etc), the new generation of SQL on Hadoop databases (Spark, Presto) or NoSQL databases (Druid, Cassandra, etc). 
 
 
 It is rare that your applications database will have all the data you need and be structured in a way that lets you ask all of the questions you are interested in. Typically an application database will have a schema optimized for small reads and updates, while most analytics queries typically touch a large fraction of a table. 
diff --git a/docs/enterprise-guide/sql-snippets.md b/docs/enterprise-guide/sql-snippets.md
index c0c25f689e06a7ee7407993f242e7b03138fc2bf..c195c5b366a362ec1ae29f9478a7bf3d70fdcd7b 100644
--- a/docs/enterprise-guide/sql-snippets.md
+++ b/docs/enterprise-guide/sql-snippets.md
@@ -12,7 +12,7 @@ The **Top folder** is the snippet sidebar's default folder. It is the root folde
 
 ### Creating a new SQL snippet folder
 
-You can create a SQL snippet folder from the **Snippets** menu in the [SQL editor](../users-guide/writing-sql).
+You can create a SQL snippet folder from the **Snippets** menu in the [SQL editor](../users-guide/writing-sql.html).
 
 ![Create new snippet folder](./images/sql-snippets/snippet-folder.png)
 
@@ -24,7 +24,7 @@ You can create a SQL snippet folder from the **Snippets** menu in the [SQL edito
 
 ### Creating a new SQL snippet
 
-When creating a SQL snippet in the Enterprise Edition, you'll also see an additional option to add that snippet to an existing folder (the **Folder this should be in** option). 
+When creating a SQL snippet in the Enterprise Edition, you'll also see an additional option to add that snippet to an existing folder (the **Folder this should be in** option).
 
 ![Add a snippet enterprise modal](./images/sql-snippets/enterprise-add-snippet.png)
 
@@ -50,7 +50,7 @@ When changing permissions on a folder that has sub-folders, you have an option t
 
 There are three options for changing snippet folder permissions:
 
-- **Edit access (green checkmark icon)**. The default setting. When a folder is created, all users (who have SQL editor permissions for at least one database) can view, edit, and archive or unarchive the folder's snippets. 
+- **Edit access (green checkmark icon)**. The default setting. When a folder is created, all users (who have SQL editor permissions for at least one database) can view, edit, and archive or unarchive the folder's snippets.
 - **View access (yellow eye icon)**. Users in groups with view access can view snippets in the folder, but not edit or archive/unarchive them. They can, of course, copy snippet code and create new snippets, with no effect on the existing snippets.
 - **Revoke access (red X icon)**. Users in groups with neither edit nor view permissions to a snippet folder will not see that folder's snippets in the sidebar, nor will any snippets in that folder appear in typeahead suggestions for those users. Note that if people have access to a question with a snippet they don't have permission to, they will still be able to get results from that question. See the discussion below on [how folder permissions work](#how-folder-permissions-work).
 
@@ -60,7 +60,7 @@ Archiving or unarchiving snippets does not affect a snippet's permissions. If, f
 
 ### How folder permissions work
 
-As with collection permissions, folder permissions are additive, meaning that the more permissive access overrules less permissive access. See [Setting permissions](../administration-guide/05-setting-permissions) for a more detailed discussion.
+As with collection permissions, folder permissions are additive, meaning that the more permissive access overrules less permissive access. See [Setting permissions](../administration-guide/05-setting-permissions.html) for a more detailed discussion.
 
 But snippet folder permissions require some more effort to unpack, as permissions for snippet folders must work in conjunction with permissions for data and collections.
 
diff --git a/docs/users-guide/05-visualizing-results.md b/docs/users-guide/05-visualizing-results.md
index 70f3ea875dce8aeb748e7dfaefee3b5ce2862b6a..707573e6d7ecad68f9dff9cfc04285aa48e52f4c 100644
--- a/docs/users-guide/05-visualizing-results.md
+++ b/docs/users-guide/05-visualizing-results.md
@@ -79,7 +79,7 @@ Open up the settings for your table and you'll see the Columns tab, which displa
 
 To hide a column, click the X icon on it; that'll send it down to the **More columns** area in case you want to bring it back. To add a linked column, just click the + icon on it, which will bring it to the **Visible columns** section. Click and drag any of the columns listed there to rearrange the order in which they appear. Another super easy way to rearrange columns without having to open up the visualization settings is to simply click and drag on a column's heading to move it where you'd like it to go.
 
-> Changing these options doesn't change the actual table itself; these changes create a custom view of the table that you can save as a **question** in Metabase and refer back to later, share with others, or add to a [dashboard](08-dashboards.md).
+> Changing these options doesn't change the actual table itself; these changes create a custom view of the table that you can save as a **question** in Metabase and refer back to later, share with others, or add to a [dashboard](07-dashboards.md).
 
 #### Column formatting options
 
diff --git a/docs/users-guide/sql-snippets.md b/docs/users-guide/sql-snippets.md
index 3281d24202c92397401976f8e8760f51d7776f2d..2213e3038341304b2922a5e9b95ea4272766ca2c 100644
--- a/docs/users-guide/sql-snippets.md
+++ b/docs/users-guide/sql-snippets.md
@@ -89,4 +89,4 @@ Note: two snippets cannot share the same name, as even if a snippet is archived,
 
 Any user who has SQL editor permissions to at least one of your connected databases will be able to view the snippets sidebar, and will be able to create, edit, and archive or unarchive any and all snippets — even snippets intended to be used with databases the user does NOT have SQL editing access to.
 
-[Metabase Enterprise Edition](https://www.metabase.com/enterprise/) contains additional functionality for organizing snippets into folders and setting permissions on those folders. See our [docs on SQL snippet folders and permissions](../enterprise-guide/sql-snippets) to learn more.
+[Metabase Enterprise Edition](https://www.metabase.com/enterprise/) contains additional functionality for organizing snippets into folders and setting permissions on those folders. See our [docs on SQL snippet folders and permissions](../enterprise-guide/sql-snippets.html) to learn more.