diff --git a/docs/features.es.md b/docs/features.es.md
new file mode 100644
index 0000000..18c0b98
--- /dev/null
+++ b/docs/features.es.md
@@ -0,0 +1,141 @@
+# Funciones
+La extensión Herramientas Avanzadas para TW ofrece las siguientes
+funciones/opciones:
+
+## Scroll infinito
+### Listas de hilos
+> **Opción:** _Activa el scroll infinito en las listas de hilos_.
+
+Activa el scroll infinito en las listas de hilos en TW. Esta función ya se ha
+añadido a la Consola de la Comunidad por parte de Google.
+
+### Dentro de hilos
+> **Opciones:** _Carga automáticamente mensajes en grupos pequeños cuando hagas
+scroll por un hilo_, _Carga automáticamente todos los mensajes a la vez cuando
+hagas scroll por un hilo_.
+
+Activa el scroll infinito dentro de hilos, ambos en TW y la Consola de la
+Comunidad. Ambas funciones son excluyentes, y dependiendo de cuál elijas, la
+función se comportará de manera diferente:
+
+- **Cargar mensajes en grupos pequeños**: cuando te desplaces hasta el fondo de
+la página, se cargarán algunos mensajes más. Si te desplazas hasta el fondo de
+nuevo, se cargarán más mensajes, etc.
+- **Cargar todos los mensajes a la vez**: cuando te desplazes hasta el fondo de
+la página, todos los mensajes restantes se cargarán a la vez.
+
+## Mejoras adicionales
+### Barra de herramientas de la Consola de la Comunidad
+> **Opción:** _Mantén visible la barra de herramientas de la lista de hilos en
+la Consola de la Comunidad_.
+
+Fija la barra de herramientas de las listas de hilos en la Consola de la
+Comunidad para que no desaparezca cuando te desplaces hacia abajo de la página.
+
+![GIF que muestra la función](resources/fix_toolbar.gif)
+
+### Redirección a la Consola de la Comunidad
+> **Opción:** _Redirige todos los hilos abiertos en TW a la Consola de la
+Comunidad_.
+
+Esta función es útil si quieres que los hilos que abras desde los enlaces de los
+correos de notificación se abran directamaente en la Consola de la Comunidad.
+
+### Historial del perfil
+> **Opción:** _Muestra un enlace "historial de publicaciones" en los perfiles de
+usuario_.
+
+En TW y la Consola de la Comunidad, muestra 2 enlaces en los perfiles de
+usuario, que enlazan a una lista de hilos que el usuario ha creado/respodido en
+el foro actual, y en todos los foros.
+
+![Imagen que muestra los enlaces](resources/previous_posts.jpg)
+
+### Borradores de mensaje
+> **Opción:** _Activa la flag enableLoadingDraftMessages de la Consola de la
+Comunidad. (experimental)_.
+
+Activa una _flag_ de la Consola de la Comunidad tal que cuando se abre el
+diálogo de responder en la Consola de la Comunidad, si un borrador se había
+guardado con anterioridad en los servidores de Google, se carga en el editor.
+
+Los borradores se guardan regularmente en los servidores de Google **aunque la
+_flag_ no esté activada**, así que esta _flag_ puede ayudarte a recuperar tu
+trabajo si tu navegador se ha cerrado inesperadamente, por ejemplo.
+
+### Contraste entre hilos leídos/no leídos
+> **Opción:** _Incrementa el contraste entre los hilos leídos y no leídos en la
+Consola de la Comunidad._
+
+En las listas de hilos en la Consola de la Comunidad, los fondos para los hilos
+leídos y no leídos son muy similares. Esta opción aumenta su contraste.
+
+### Desplegables pegajosos en la barra lateral
+> **Opción:** _Hacer que los encabezados de la barra lateral de la Consola de la
+Comunidad se queden pegados arriba_
+
+![GIF que muestra la función](resources/sticky_headers.gif)
+
+### Modo oscuro
+> **Opción:** _Activa el tema oscuro en la Consola de la Comunidad_.
+
+Esta opción te permite cargar el tema oscuro personalizado para la Consola de la
+Comunidad. En la página de opciones hay un selector que te permite escoger cómo
+quieres que se active el tema oscuro:
+
+- **Botón en la Consola de la Comunidad**: un botón aparece arriba del todo de
+la Consola de la Comunidad, que te permite cambiar entre el tema claro y el
+oscuro.
+- **Configuración del modo oscuro del SO**: cuando actives la opción del modo
+oscuro en tu SO (no disponible en todos los Sistemas Operativos), el tema oscuro
+se activará en la Consola de la Comunidad. Ten en cuenta que después de cambiar
+la opción del SO, debes recargar la Consola de la Comunidad para cargar el tema
+correspondiente.
+
+### Esconde la barra lateral de la consola
+> **Opción:** _Esconde siempre la barra lateral izquierda en la Consola de la
+Comunidad._
+
+Cuando se abra la Consola de la Comunidad, la barra lateral que muestra los
+foros, filtros, etc. estará oculta/cerrada por defecto. Útil si tu pantalla es
+pequeña.
+
+### Arrastra marcadores al editor de texto (solo en Chrome)
+> **Opción:** _Permite arrastrar marcadores al editor de texto de la Consola de
+la Comunidad_
+
+En Chrome, cuando se arrastran marcadores o enlaces de la Omnibox al editor de
+texto enriquecido de la Consola de la Comunidad, el título del marcador/enlace
+se remplaza por la URL. Esta opción lo revierte para que el texto se preserve.
+
+![Demo de la función](resources/drag_and_drop_fix.gif)
+
+### Bloquear en masa
+> **Opción:** _Añade la opción para bloquear varios hilos en la lista de hilos
+de la Consola de la Comunidad_.
+
+![GIF que muestra cómo funciona la función](resources/batch_lock.gif)
+
+### Punto indicador
+> **Opciones:** _Muestra si el autor del hilo ha participado en otros hilos_,
+_Muestra el número de preguntas y respuestas escritas por el autor del hilo
+durante los últimos {n} meses al lado de su nombre de usuario_.
+
+Esta sección incluye opciones que son útiles para determinar si un usuario es
+nuevo o si ha publicado en los foros antes. Se puede encontrar una descripción
+completa de qué hace cada opción en
+[docs/op\_indicator.es.md](op_indicator.es.md).
+
+Estas son las posibles combinaciones de ambas opciones:
+
+- 1a opción activada, 2a opción desactivada.
+
+![Imagen que muestra un punto coloreado al lado del nombre de usuario](resources/op_indicator_1.gif)
+
+- 1a opción desactivada, 2a opción activada.
+
+![Imagen que muestra un número monocromo](resources/op_indicator_2.gif)
+
+- Ambas opciones activadas.
+
+![Imagen que muestra un número coloreado](resources/op_indicator_3.gif)
diff --git a/docs/features.md b/docs/features.md
new file mode 100644
index 0000000..383ba20
--- /dev/null
+++ b/docs/features.md
@@ -0,0 +1,135 @@
+[En español](features.es.md)
+
+# Features
+The TW Power Tools extension offers the following features/options:
+
+## Infinite scroll
+### Thread lists
+> **Option name:** _Enable infinite scrolling in thread lists_.
+
+Enables infinite scroll in thread lists in TW. This feature has already been
+added to the Community Console by Google.
+
+### Inside threads
+> **Option names:** _Automatically load batches of messages inside threads when
+scrolling down_, _Automatically load all messages at once inside threads when
+scrolling down_.
+
+Enables infinite scroll inside threads, both in TW and the Community Console.
+Both options are mutually exclusive, and depending on which one you choose, the
+feature will behave differently:
+
+- **Load batches of messages**: when scrolling to the bottom, some more messages
+will be loaded. If you scroll to the bottom again, more messages will be loaded,
+and so on.
+- **Load all messages at once**: when scrolling to the bottom, all the remaining
+messages will be loaded at once.
+
+## Additional enhancements
+### Community Console toolbar
+> **Option name:** _Fix the toolbar in thread lists in the Community Console_.
+
+Fixes the toolbar of thread lists in the Community Console so it doesn't
+disappear when scrolling down.
+
+![GIF showing the feature](resources/fix_toolbar.gif)
+
+### Redirect to the Community Console
+> **Option name:** _Redirect all threads opened in TW to the Community Console_.
+
+This feature is useful if you want the threads you open from the email
+notification link directly in the Community Console.
+
+### Profile history
+> **Option name:** _Show a "previous posts" link in user profiles_.
+
+Both in TW and the Community Console, show 2 links in user profiles, which link
+to the list of threads that the user has created/replied to in the current
+forum, and in all the forums.
+
+![Image showing the links](resources/previous_posts.jpg)
+
+### Draft messages
+> **Option name:** _Activate the `enableLoadingDraftMessages` Community Console
+flag_.
+
+Enables a Community Console flag which, when opening the reply dialog in a
+thread in the Community Console, if a draft message was saved in the Google
+servers, it is loaded in the editor.
+
+Draft messages are saved regularly into Google Servers **even if the flag is not
+enabled**, so this flag can help you recover your work from a crash, for
+example.
+
+### Contrast between read/unread threads
+> **Option name:** _Increase contrast between read and unread threads in the
+Community Console_.
+
+In thread lists in the Community Console, the backgrounds for read and unread
+threads are very similar. This option increases this contrast.
+
+### Sticky drawer headers
+> **Option name_** _Make the headers in the Community Console sidebar stick at
+the top_.
+
+![GIF showing the feature](resources/sticky_headers.gif)
+
+### Dark mode
+> **Option name:** _Enable the dark theme in the Community Console_.
+
+This setting lets you load a custom-built dark theme for the Community Console.
+In the options page there is a selector which lets you choose how the dark theme
+gets enabled:
+
+- **Switch in the Community Console**: a button appears at the top of the
+Community Console, which lets you switch between the light and dark themes.
+- **OS dark mode settings**: when you enable the OS wide dark mode setting (not
+available in all Operating Systems), the dark theme is enabled in the Community
+Console. Note that after you change the OS setting, you should reload the
+Community Console in order to load the corresponding theme.
+
+### Hide the Community Console drawer
+> **Option name:** _Always hide the drawer (left column) in the Community
+Console_.
+
+When opening the Community Console, the sidebar which shows the forums, filters,
+etc. will be hidden/closed by default. Useful if your screen is small.
+
+### Drag and drop bookmarks to the text editor (Chrome-only)
+> **Option name:** _Allow to drag and drop bookmarks to the Community Console
+text editor_.
+
+In Chrome, when drag and dropping bookmarks or Omnibox links to the Community
+Console rich text editor, the bookmark/link title gets replaced by the URL.
+This option reverses this so the text gets preserved.
+
+![Demo of the feature](resources/drag_and_drop_fix.gif)
+
+### Batch lock
+> **Option name:** _Add the option to lock multiple threads from the Community
+Console thread list_.
+
+![GIF showing how the feature works](resources/batch_lock.gif)
+
+### Indicator dot
+> **Option names:** _Show whether the OP has participated in other threads_,
+_Show the number of questions and replies written by the OP within the last `n`
+months next to their username_.
+
+This section includes options which are useful to determine whether an OP is a
+newcomer or has posted in the forums before. A full description of what each
+option does can be found at [docs/op\_indicator.md](op_indicator.md).
+
+These are the possible combinations of both options:
+
+- 1st option enabled, 2nd option disabled.
+
+![Picture showing a colored dot next to the username](resources/op_indicator_1.gif)
+
+- 1st option disabled, 2nd option enabled.
+
+![Picture showing a monochrome badge](resources/op_indicator_2.gif)
+
+- Both options enabled.
+
+![Picture showing a colored badge](resources/op_indicator_3.gif)
diff --git a/docs/resources/batch_lock.gif b/docs/resources/batch_lock.gif
new file mode 100644
index 0000000..d75974e
--- /dev/null
+++ b/docs/resources/batch_lock.gif
Binary files differ
diff --git a/docs/resources/compress_gif.bash b/docs/resources/compress_gif.bash
new file mode 100644
index 0000000..01cb969
--- /dev/null
+++ b/docs/resources/compress_gif.bash
@@ -0,0 +1,6 @@
+#!/bin/bash
+# Helper tool used to compress generated GIFs
+gifsicle -O3 --lossy=100 --colors 128 $1 -o $2
+
+# webp isn't yet allowed to be used in gitiles
+#gif2webp -mixed -min_size -loop_compatibility $2
diff --git a/docs/resources/compress_image.bash b/docs/resources/compress_image.bash
new file mode 100644
index 0000000..9369f64
--- /dev/null
+++ b/docs/resources/compress_image.bash
@@ -0,0 +1,3 @@
+#!/bin/bash
+# Helper tool used to compress screenshots from PNG to JPEG
+convert -quality 85 $1 $2
diff --git a/docs/resources/drag_and_drop_fix.gif b/docs/resources/drag_and_drop_fix.gif
new file mode 100644
index 0000000..3193f76
--- /dev/null
+++ b/docs/resources/drag_and_drop_fix.gif
Binary files differ
diff --git a/docs/resources/fix_toolbar.gif b/docs/resources/fix_toolbar.gif
new file mode 100644
index 0000000..769b592
--- /dev/null
+++ b/docs/resources/fix_toolbar.gif
Binary files differ
diff --git a/docs/resources/op_indicator_1.gif b/docs/resources/op_indicator_1.gif
new file mode 100644
index 0000000..464fc65
--- /dev/null
+++ b/docs/resources/op_indicator_1.gif
Binary files differ
diff --git a/docs/resources/op_indicator_2.gif b/docs/resources/op_indicator_2.gif
new file mode 100644
index 0000000..9280c74
--- /dev/null
+++ b/docs/resources/op_indicator_2.gif
Binary files differ
diff --git a/docs/resources/op_indicator_3.gif b/docs/resources/op_indicator_3.gif
new file mode 100644
index 0000000..64ec33b
--- /dev/null
+++ b/docs/resources/op_indicator_3.gif
Binary files differ
diff --git a/docs/resources/previous_posts.jpg b/docs/resources/previous_posts.jpg
new file mode 100644
index 0000000..d9616bd
--- /dev/null
+++ b/docs/resources/previous_posts.jpg
Binary files differ
diff --git a/docs/resources/sticky_headers.gif b/docs/resources/sticky_headers.gif
new file mode 100644
index 0000000..b7589cb
--- /dev/null
+++ b/docs/resources/sticky_headers.gif
Binary files differ
diff --git a/src/options.css b/src/options.css
index 46961a2..06b8c40 100644
--- a/src/options.css
+++ b/src/options.css
@@ -1,3 +1,14 @@
+body {
+  padding-top: 16px;
+}
+
+.features-link {
+  position: absolute;
+  top: 8px;
+  right: 8px;
+  width: 24px;
+}
+
 .option {
   margin: 4px 0;
   line-height: 1.8em;
diff --git a/src/options.html b/src/options.html
index cac1de5..16b8fcf 100644
--- a/src/options.html
+++ b/src/options.html
@@ -7,6 +7,15 @@
     <link rel="stylesheet" href="options.css">
   </head>
   <body>
+    <a href="https://gerrit.avm99963.com/plugins/gitiles/infinitegforums/+/master/docs/features.md" target="_blank" class="features-link">
+      <!--
+        Material Design Icon - action/help_outline
+         - LICENSE: Apache License Version 2.0
+         - Source: https://github.com/google/material-design-icons/
+         - Author: Google LLC
+      -->
+      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-4h2v2h-2zm1.61-9.96c-2.06-.3-3.88.97-4.43 2.79-.18.58.26 1.17.87 1.17h.2c.41 0 .74-.29.88-.67.32-.89 1.27-1.5 2.3-1.28.95.2 1.65 1.13 1.57 2.1-.1 1.34-1.62 1.63-2.45 2.88 0 .01-.01.01-.01.02-.01.02-.02.03-.03.05-.09.15-.18.32-.25.5-.01.03-.03.05-.04.08-.01.02-.01.04-.02.07-.12.34-.2.75-.2 1.25h2c0-.42.11-.77.28-1.07.02-.03.03-.06.05-.09.08-.14.18-.27.28-.39.01-.01.02-.03.03-.04.1-.12.21-.23.33-.34.96-.91 2.26-1.65 1.99-3.56-.24-1.74-1.61-3.21-3.35-3.47z"/></svg>
+    </a>
     <form>
       <div class="option"><input type="checkbox" id="list"> <label for="list" data-i18n="list"></label></div>
       <div class="option"><input type="checkbox" id="thread"> <label for="thread" data-i18n="thread"></label></div>
