- {% endif %}
- {{ content }}
-
-
- {%- include footer.html -%}
diff --git a/_layouts/guides.html b/_layouts/guides.html
deleted file mode 100644
index 843d82d..0000000
--- a/_layouts/guides.html
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-{%- include head.html with_aside=true -%}
-
-
- {%- include nav.html -%}
- {%- include guides-aside.html -%}
-
-
- {% if page.title %}
-
{{ page.title }}
- {% endif %}
- {{ content }}
-
- {% if page.credits %}
-
- {{ site.data.credits[page.credits] | markdownify }}
- {% endif %}
-
-
- {%- include footer.html -%}
diff --git a/_includes/inline-aside-style.css b/assets/inline/inline-aside-style.css
similarity index 100%
rename from _includes/inline-aside-style.css
rename to assets/inline/inline-aside-style.css
diff --git a/_includes/inline-style.css b/assets/inline/inline-style.css
similarity index 100%
rename from _includes/inline-style.css
rename to assets/inline/inline-style.css
diff --git a/_includes/modern-normalize.css b/assets/inline/modern-normalize.css
similarity index 100%
rename from _includes/modern-normalize.css
rename to assets/inline/modern-normalize.css
diff --git a/404.md b/content/404.md
similarity index 100%
rename from 404.md
rename to content/404.md
diff --git a/content/_guides/donate.md b/content/_guides/donate.md
deleted file mode 100644
index 2ccb3b2..0000000
--- a/content/_guides/donate.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title: Donate
-nav_title: Donate
-category: help
----
-
-Feather is a 100% community sponsored endeavor. If you want to join our efforts, the easiest thing you can do is support the project financially.
-
-Donations help pay for hosting, build servers, domain names, e-mail and other recurring costs. Any amount helps!
-
-Our donation address is:
-
-```
-47ntfT2Z5384zku39pTM6hGcnLnvpRYW2Azm87GiAAH2bcTidtq278TL6HmwyL8yjMeERqGEBs3cqC8vvHPJd1cWQrGC65f
-```
-
-To donate directly from Feather: **Help → Donate to Feather**.
-
-Thank you for supporting Feather development!
\ No newline at end of file
diff --git a/content/_guides/hardware_wallet_support.md b/content/_guides/hardware_wallet_support.md
deleted file mode 100644
index 6ca95d9..0000000
--- a/content/_guides/hardware_wallet_support.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-title: Hardware wallets
-nav_title: Hardware wallets
-category: faq
----
-
-### Are hardware wallets supported?
-
-**Yes**. Feather supports the following devices:
-
-- **Ledger** Nano S
-- **Ledger** Nano S+
-- **Ledger** Nano X
-- **Trezor** Model T
-- **Trezor** Safe 3
-
-If you own a device that is advertised as having support for Monero and it is not listed above, please [contact](report-an-issue) us.
-
-For instructions on how to use your device with Feather see the following guide: [Create a wallet (hardware device)](create-wallet-hardware-device).
-
-### Overview
-
-| Hardware Wallet | Secure Element | Peripherals connected to SE | Passphrase | Data transfer | Open Source Firmware |
-|-----------------|------------------------------------------------------------------------|-----------------------------|------------|----------------|----------------------------------|
-| Ledger Nano S | Yes ([ST31H320](https://www.st.com/en/secure-mcus/st31h320.html) [1]) | No | Yes [5] | USB | No |
-| Ledger Nano X | Yes ([ST33J2M0](https://www.st.com/en/secure-mcus/st33j2m0.html) [2]) | Yes | Yes [5] | USB, Bluetooth | No |
-| Ledger Nano S+ | Yes ([ST33K1M5](https://www.st.com/en/secure-mcus/st33k1m5c.html) [3]) | Yes | Yes [5] | USB | No |
-| Ledger Stax | Yes ([ST33K1M5](https://www.st.com/en/secure-mcus/st33k1m5c.html) [6]) | Yes | Yes [5] | USB, Bluetooth | No |
-| Trezor Model T | No | No | Yes [7] | USB | Yes, reproducible builds [8] [4] |
-| Trezor Safe 3 | Yes (OPTIGATM Trust M (V3) [9]) | ? | Yes [7] | USB | Yes, reproducible builds [8] [4] |
-
-[1] https://www.ledger.com/improving-and-supporting-the-ledger-nano-s
-[2] https://shop.ledger.com/products/ledger-nano-x#shopify-section-tech-specs--nano-x
-[3] https://www.ledger.com/blog/ledger-op3n-conference-product-launches-updates-our-next-milestones
-[4] https://docs.trezor.io/trezor-firmware/common/reproducible-build.html
-[5] https://www.ledger.com/academy/passphrase-an-advanced-security-feature
-[6] https://shop.ledger.com/products/ledger-stax
-[7] https://trezor.io/learn/a/passphrases-and-hidden-wallets
-[8] https://github.com/trezor/trezor-firmware
-[9] https://trezor.io/learn/a/secure-element-in-trezor-safe-3
diff --git a/content/_guides/mining_setup.md b/content/_guides/mining_setup.md
deleted file mode 100644
index cc5d727..0000000
--- a/content/_guides/mining_setup.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-title: How to mine Monero using Feather
-nav_title: Setup mining
-category: howto
----
-
-Go to the **Mining** tab. (If not shown, go to **View → Show Mining**).
-
-### Downloading XMRig
-
-Within the **Mining** tab, go to the **Downloads** tab.
-
-**Right click → Download file** on the latest XMRig version for your operation system.
-
-After the download is complete, extract the file.
-
-### Configuring Feather for mining
-
-Within the **Mining** tab, go to the **Settings** tab.
-
-##### XMRig executable
-
-Click **Browse** and navigate to the location of the XMRig executable that was downloaded in the previous step.
-
-##### Run as admin/root
-
-Running XMRig as admin/root may increase hashrate. Click **Yes** if you want to enable this.
-
-**Note:** As of 1.0.0 this feature is not supported on Windows, yet.
-
-##### CPU threads
-
-Use the slider to select the number of CPU threads to mine on.
-
-- A high number of threads may slow down your computer.
-- A high number of threads may not give the optimal hashrate. Experiment with different values.
-
-##### Mining mode
-
-Select whether to mine to a pool or to solo mine using a local node.
-
-If this is your first time mining Monero, we recommend using **Pool mining**.
-
-##### Pool address (Pool mining)
-
-Select the pool you want to mine to from the dropdown menu.
-
-- If your pool isn't listed, click **Configure** to add it manually.
-
-##### Node address (Solo mining)
-
-Enter the address of your local node. In most cases this should be `127.0.0.1:18081`.
-
-##### Network settings
-
-Select "Secure connection (TLS)" if you want to encrypt traffic.
-
-**Note:** Not all pools support this. Check your pool's website for more information.
-
-Select "Connect via Tor" if you want to route all traffic to the pool or node over Tor. This may increase the rate of stale shares, which negatively impacts your payout.
-
-##### Receiving address
-
-Enter the address you want to mine to. Click **Use primary address** to fill in the current wallet's primary address.
-
-##### Password (optional)
-
-If your pool requires a password, enter it here.
-
-### Start mining
-
-Within the **Mining** tab, go to the **Status** tab.
-
-Click on **Start mining**.
-
-If your computer becomes slow or unresponsive, click **Stop**. Adjust the number of **CPU threads** to a lower value.
-
-If you are have trouble getting the miner to start, please [contact](report-an-issue) the Feather developers for assistance.
diff --git a/content/_guides/release_signing_key.md b/content/_guides/release_signing_key.md
deleted file mode 100644
index 90ea888..0000000
--- a/content/_guides/release_signing_key.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: Obtaining the release signing key
-nav_title: Release signing key
-category: advanced
----
-
-You may obtain the release signing key from:
-
-- The git repository hosted on [GitHub](https://raw.githubusercontent.com/feather-wallet/feather/master/utils/pubkeys/featherwallet.asc)
-- [keys.openpgp.org](https://keys.openpgp.org) (search for `dev@featherwallet.org`)
- - `gpg --keyserver hkps://keys.openpgp.org --search dev@featherwallet.org`
-- Ubuntu's [SKS keyserver](https://keyserver.ubuntu.com/pks/lookup?search=dev%40featherwallet.org&fingerprint=on&op=index)
- - `gpg --keyserver hkps://keyserver.ubuntu.com --search dev@featherwallet.org`
-- [featherwallet.org](https://featherwallet.org/files/featherwallet.asc)
-
-### Fingerprint
-
-After importing the key, verify that the fingerprint matches:
-
-```
-8185 E158 A333 30C7 FD61 BC0D 1F76 E155 CEFB A71C
-```
-
-We recommend that you cross-check the fingerprint shown above through the domains listed below. By cross-checking the integrity of the fingerprint across multiple domains you can be confident that you obtained the correct key.
-
-- [X profile](https://twitter.com/FeatherWallet)
-- [Subreddit sidebar](https://old.reddit.com/r/FeatherWallet/)
-- [Monero.Town community sidebar](https://monero.town/c/featherwallet)
-- Through DNS (Linux): `drill -D key.featherwallet.net TXT`
-
-If any of the resources listed above do not provide the expected fingerprint, please [report](report-an-issue) this to the developers immediately.
\ No newline at end of file
diff --git a/content/_guides/report_an_issue.md b/content/_guides/report_an_issue.md
deleted file mode 100644
index a78bbda..0000000
--- a/content/_guides/report_an_issue.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: How to report an issue
-nav_title: Report an issue
-category: help
----
-
-Issues or support queries can be reported via any of the following channels:
-
-- Reddit: [/r/FeatherWallet](https://reddit.com/r/featherwallet)
-- IRC: `#feather` on [OFTC](https://www.oftc.net/)
-- Matrix: `#feather:monero.social`
-- Email: [dev@featherwallet.org](mailto:dev@featherwallet.org)
-- GitHub: [github.com/feather-wallet/feather](https://github.com/feather-wallet/feather)
-
-To help us quickly identify what the issue might be, please include a copy of the **Help → Debug Info** dialog.
-
-Questions posted in /r/FeatherWallet, or on IRC or Matrix have the fastest response time.
-
-For live support please contact us via IRC or Matrix. If you do not have a IRC client, you can join the room via [webchat](https://webchat.oftc.net/). If you don't receive a response immediately please idle in the room.
-
-To report a security vulnerability, please refer to our [security policy](https://github.com/feather-wallet/feather/blob/master/SECURITY.md) for responsible disclosure.
diff --git a/content/guides/_index.md b/content/guides/_index.md
new file mode 100644
index 0000000..25f1d24
--- /dev/null
+++ b/content/guides/_index.md
@@ -0,0 +1,5 @@
+---
+build:
+ render: never
+ list: never
+---
diff --git a/content/_guides/about.md b/content/guides/about.md
similarity index 100%
rename from content/_guides/about.md
rename to content/guides/about.md
diff --git a/content/_guides/accounts.md b/content/guides/accounts.md
similarity index 96%
rename from content/_guides/accounts.md
rename to content/guides/accounts.md
index 361cecf..51cf30a 100644
--- a/content/_guides/accounts.md
+++ b/content/guides/accounts.md
@@ -8,7 +8,7 @@ Each wallet has the ability to create multiple accounts. Each account has its ow
Accounts are deterministically derived from your private keys, you only need to know your seed in order to restore the accounts and addresses associated with your wallet.
-It may be useful to use a seperate account:
+It may be useful to use a separate account:
- For bookkeeping purposes (for example: one account for personal transactions, one for work transactions, one for donations).
- To keep identities separate. (**Caution**: using accounts does not protect you against the [Janus attack](https://web.getmonero.org/2019/10/18/subaddress-janus.html).)
diff --git a/content/_guides/add_contact.md b/content/guides/add-contact.md
similarity index 56%
rename from content/_guides/add_contact.md
rename to content/guides/add-contact.md
index e8f2072..7ccefd6 100644
--- a/content/_guides/add_contact.md
+++ b/content/guides/add-contact.md
@@ -4,7 +4,9 @@ nav_title: Add a contact
category: howto
---
-Go to the **Send** tab. Right click inside the contacts table **→ New contact**.
+Make sure the **Contacts** tab is enabled: **View → Contacts**.
+
+Go to the **Contacts** tab. Right click inside the contacts table **→ New contact**.
Enter the address and name and click **Ok**.
@@ -12,4 +14,4 @@ If the address already exists in the contacts list its entry will be updated wit
### Paying to a contact
-Right-click on the contact **→ Pay to**, this will autofill the associated address into the **Pay to** field.
+Right-click on the contact **→ Pay to**, this will autofill the associated address into the **Pay to** field and the name in the **Description**.
diff --git a/content/_guides/address_checker.md b/content/guides/address-checker.md
similarity index 100%
rename from content/_guides/address_checker.md
rename to content/guides/address-checker.md
diff --git a/content/_guides/airgapped_signing_issues.md b/content/guides/airgapped-signing-issues.md
similarity index 100%
rename from content/_guides/airgapped_signing_issues.md
rename to content/guides/airgapped-signing-issues.md
diff --git a/content/_guides/balance.md b/content/guides/balance.md
similarity index 100%
rename from content/_guides/balance.md
rename to content/guides/balance.md
diff --git a/content/_guides/building_from_source.md b/content/guides/building-from-source.md
similarity index 100%
rename from content/_guides/building_from_source.md
rename to content/guides/building-from-source.md
diff --git a/content/_guides/change_password.md b/content/guides/change-password.md
similarity index 100%
rename from content/_guides/change_password.md
rename to content/guides/change-password.md
diff --git a/content/_guides/create_view_only_wallet.md b/content/guides/create-view-only-wallet.md
similarity index 100%
rename from content/_guides/create_view_only_wallet.md
rename to content/guides/create-view-only-wallet.md
diff --git a/content/_guides/create_wallet_hardware_device.md b/content/guides/create-wallet-hardware-device.md
similarity index 94%
rename from content/_guides/create_wallet_hardware_device.md
rename to content/guides/create-wallet-hardware-device.md
index 3eb5875..6a28ca4 100644
--- a/content/_guides/create_wallet_hardware_device.md
+++ b/content/guides/create-wallet-hardware-device.md
@@ -5,6 +5,8 @@ category: getting-started
weight: 20
---
+To learn if your hardware device is supported see [supported hardware devices](hardware-wallet-support).
+
Make sure your hardware device is connected to your computer.
**Ledger**: Open the Monero app on your device.
diff --git a/content/_guides/create_wallet.md b/content/guides/create-wallet.md
similarity index 86%
rename from content/_guides/create_wallet.md
rename to content/guides/create-wallet.md
index 7730967..8985d68 100644
--- a/content/_guides/create_wallet.md
+++ b/content/guides/create-wallet.md
@@ -17,7 +17,7 @@ On the wizard, select **Create new wallet**.
On the next page, the wallet seed is shown. You may notice that the seed is shorter than other standard 25 word Monero seed. Feather uses Polyseed for 16 word seeds. To learn more about Polyseed and the benefits compared to 25 word seeds, see the information [here](seed-scheme).
-The seed allows you to recover your funds in case you lose access to your wallet files. DO NOT LOSE IT.
+The seed allows you to recover your funds in case you lose access to your wallet files. We recommend writing it down on a piece of paper that is stored securely. Do not save it to your computer or send it anywhere online.
Click **next** after you have verified that **you have written down all words in the correct order**.
@@ -25,7 +25,7 @@ In the **Name** field, type a name for your wallet. You may name the wallet what
The **Directory** field shows the default location for the wallet files. We recommend leaving it as the default. If you want to store all files relative to the executable, follow the steps [here](portable-mode) to enable portable mode.
-On the next page, choose a password to encrypt your wallet files with. It is recommended to use a strong password generated with a password manager, such as KeePassXC.
+On the next page, choose a password to encrypt your wallet files with. It is recommended to use a strong password generated with a password manager, such as [KeePassXC](https://keepassxc.org/).
Click on **Create/Open wallet** to finish wallet creation.
diff --git a/content/_guides/damaged_seed.md b/content/guides/damaged-seed.md
similarity index 100%
rename from content/_guides/damaged_seed.md
rename to content/guides/damaged-seed.md
diff --git a/content/guides/donate.md b/content/guides/donate.md
new file mode 100644
index 0000000..07a2d12
--- /dev/null
+++ b/content/guides/donate.md
@@ -0,0 +1,7 @@
+---
+title: Donate
+nav_title: Donate
+category: help
+---
+
+We are not currently seeking donations. Consider donating to the [CCS](https://ccs.getmonero.org/) or [MAGIC Monero Fund](https://donate.magicgrants.org/monero) instead!
diff --git a/content/_guides/entropy_from_dice.md b/content/guides/entropy-from-dice.md
similarity index 97%
rename from content/_guides/entropy_from_dice.md
rename to content/guides/entropy-from-dice.md
index d88ba48..9362db2 100644
--- a/content/_guides/entropy_from_dice.md
+++ b/content/guides/entropy-from-dice.md
@@ -35,9 +35,11 @@ If you throw multiple dice, scan the throwing area from left to right to determi
For example, if you roll:
- ⚃ ⚄
- ⚁
- ⚀
+```
+⚃ ⚄
+ ⚁
+ ⚀
+```
Enter `4 2 5 1` in the entry box and press **Next roll**.
diff --git a/content/_guides/export_tx_history.md b/content/guides/export-tx-history.md
similarity index 90%
rename from content/_guides/export_tx_history.md
rename to content/guides/export-tx-history.md
index 344e043..d2abf8d 100644
--- a/content/_guides/export_tx_history.md
+++ b/content/guides/export-tx-history.md
@@ -21,6 +21,3 @@ The transaction history is a CSV file with the following schema:
|txid|string|449f065...876206|Transaction ID. (Example shortened for readability.)|
|description|string|Donation to Monero Core|Transaction description|
|paymentID|string||Payment ID. Usually blank.|
-|fiatAmount|float|20.2|Amount is always rounded to 3 significant digits. Shows "?" if value cannot be calculated.|
-|fiatCurrency|string|USD|Fiat currency|
-
diff --git a/content/_guides/failed_tx.md b/content/guides/failed-tx.md
similarity index 100%
rename from content/_guides/failed_tx.md
rename to content/guides/failed-tx.md
diff --git a/content/_guides/features.md b/content/guides/features.md
similarity index 90%
rename from content/_guides/features.md
rename to content/guides/features.md
index 0ede46b..d96bd5b 100644
--- a/content/_guides/features.md
+++ b/content/guides/features.md
@@ -56,18 +56,19 @@ Feature comparison between Monero desktop wallets.
| ... using animated QR codes | ✔ | ✖ | ✖ |
| Transaction unlock time | ✖† | ✔ | ✖ |
| Automatic network fee adjustment | ✔ | ✔ | ✔ |
-| Manual network fee adjustment | ✖[5] | ✔ | ✔ |
+| [Manual fee-tier selection](transaction-fee) | ✔ | ✔ | ✔ |
+| Subtract fee from amount | ✔ | ✔ | ✖ |
| Multisig | ✖* | ✔ | ✖ |
| **► Mining** |
-| Solo mining | ✔[6] | ✔ | ✔ |
-| [Pool mining](mining-setup) | ✔[6] | ✖ | ✖ |
-| P2Pool | ✖* | ✖ | ✔ |
+| Solo mining | ✖† | ✔ | ✔ |
+| Pool mining | ✖† | ✖ | ✖ |
+| P2Pool | ✖† | ✖ | ✔ |
| **► Hardware wallets** |
| Ledger Nano S/S+/X | ✔ | ✔ | ✔ |
| Trezor Model T/Safe 3 | ✔ | ✔ | ✔ |
| **► Fiat** |
| Crypto/fiat calculator | ✔ | ✖ | ✖ |
-| Historical fiat prices | ✔ | ✖ | ✖ |
+| Historical fiat prices | ✖ | ✖ | ✖ |
| Fiat balance display | ✔ | ✖ | ✔ |
| **► Misc** |
| Built-in updater | ✔ | ✖ | ✔ |
@@ -77,9 +78,12 @@ Feature comparison between Monero desktop wallets.
| Auto-open passwordless wallets | ✔ | ✖ | ✖ |
| Copy-pasteable support template | ✔ | ✖ | ✖ |
| Open multiple wallets in single instance | ✔ | ✖ | ✖ |
-| Extra entropy from dice rolls | ✔ | ✖ | ✖ |
+| [Extra entropy from dice rolls](entropy-from-dice) | ✔ | ✖ | ✖ |
+| Built-in documentation browser | ✔ | ✖ | ✖ |
+| Transaction pool viewer | ✔ | ✖ | ✖ |
+| [Damaged/partial seed recovery tools](damaged-seed) | ✔ | ✖ | ✖ |
| Mass address export | ✖* | ✖ | ✖ |
-| Atomic swaps | ✖* | ✖ | ✖ |
+| Atomic swaps | ✖† | ✖ | ✖ |
| Adjustable subaddress lookahead | ✔ | ✔ | ✔[8] |
| Local node manager | ✖ | ✖ | ✔ |
| Merchant mode | ✖† | ✖ | ✔ |
@@ -91,8 +95,6 @@ Feature comparison between Monero desktop wallets.
(2) = Polyseed uses BIP-39 wordlists, for Monero see [here](https://github.com/monero-project/monero/tree/master/src/mnemonics). As of 1.0.0 only English is supported for Polyseed.
(3) = authentication not supported
(4) = except macOS
-(5) = read the rationale [here](transaction-fee)
-(6) = with XMRig
(7) = except Linux release
(8) = only for hardware wallets
diff --git a/content/_guides/first_start.md b/content/guides/first-start.md
similarity index 87%
rename from content/_guides/first_start.md
rename to content/guides/first-start.md
index acebdcc..ac8999f 100644
--- a/content/_guides/first_start.md
+++ b/content/guides/first-start.md
@@ -33,14 +33,14 @@ We recommend using this option for **most** users.
If you do not want to connect to one the built-in nodes, select **Select node manually**.
-Enter the address and port in the textbox. For example: `node.community.rino.io:18081`.
+Enter the address and port in the textbox. For example: `node.monerodevs.org:18089`.
### Connecting to a local node
-Feather automatically detects the presense of a local node on the default port.
+Feather automatically detects the presence of a [local node](local-node) on the default port.
Feather does not manage a local node for you.
-If you want to run a local node, follow the steps for your operating system to set one up.
+If you want to run a local node, follow the steps in [this guide](https://moneroguides.org/tutorials/01x02-setting-up-your-own-node/) to set one up.
## How should Feather route its network traffic?
diff --git a/content/_guides/formatted_tx_proofs.md b/content/guides/formatted-tx-proofs.md
similarity index 100%
rename from content/_guides/formatted_tx_proofs.md
rename to content/guides/formatted-tx-proofs.md
diff --git a/content/_guides/freeze_thaw_output.md b/content/guides/freeze-thaw-output.md
similarity index 83%
rename from content/_guides/freeze_thaw_output.md
rename to content/guides/freeze-thaw-output.md
index 9edcab8..780bd01 100644
--- a/content/_guides/freeze_thaw_output.md
+++ b/content/guides/freeze-thaw-output.md
@@ -6,7 +6,7 @@ category: howto
Freezing an output prevents it from being spent in future transactions. Thaw is the opposite of freeze, it "unfreezes" an output and makes it available for spending again.
-Go to the **Coins** tab. (**View → Show Coins**, if it isn't enabled).
+Go to the **Coins** tab. (**View → Coins**, if it isn't enabled).
Select the outputs you want to freeze, then right click **→ Freeze output** or **→ Thaw output**.
diff --git a/content/guides/hardware-wallet-support.md b/content/guides/hardware-wallet-support.md
new file mode 100644
index 0000000..bf779e8
--- /dev/null
+++ b/content/guides/hardware-wallet-support.md
@@ -0,0 +1,53 @@
+---
+title: Hardware wallets
+nav_title: Hardware wallets
+category: faq
+---
+
+### Are hardware wallets supported?
+
+**Yes**. Feather supports the following devices:
+
+#### Ledger
+
+- Nano S
+- Nano S+
+- Nano X
+- Stax
+- Flex
+
+#### Trezor
+
+- Model T
+- Safe 3
+- Safe 5
+
+If you own a device that is advertised as having support for Monero and it is not listed above, please [contact](report-an-issue) us.
+
+The Trezor Safe 7 is not currently supported. It introduced a new device communication protocol. We don't know when this protocol will be implemented in the Monero codebase.
+
+For instructions on how to use your device with Feather see the following guide: [Create a wallet (hardware device)](create-wallet-hardware-device).
+
+### Overview
+
+| Hardware Wallet | Secure Element | Peripherals connected to SE | Passphrase | Data transfer | Open Source Firmware |
+|-----------------|-------------------------------------------------------------------------|-----------------------------|------------|----------------|----------------------------------|
+| Ledger Nano S | Yes ([ST31H320](https://www.st.com/en/secure-mcus/st31h320.html) [1]) | No | Yes [5] | USB | No |
+| Ledger Nano X | Yes ([ST33J2M0](https://www.st.com/en/secure-mcus/st33j2m0.html) [2]) | Yes | Yes [5] | USB, Bluetooth | No |
+| Ledger Nano S+ | Yes ([ST33K1M5](https://www.st.com/en/secure-mcus/st33k1m5c.html) [3]) | Yes | Yes [5] | USB | No |
+| Ledger Stax | Yes ([ST33K1M5](https://www.st.com/en/secure-mcus/st33k1m5c.html) [6]) | Yes | Yes [5] | USB, Bluetooth | No |
+| Ledger Flex | Yes ([ST33K1M5](https://www.st.com/en/secure-mcus/st33k1m5c.html) [10]) | ? | Yes [5] | USB, Bluetooth | No |
+| Trezor Model T | No | No | Yes [7] | USB | Yes, reproducible builds [8] [4] |
+| Trezor Safe 3 | Yes (OPTIGATM Trust M (V3) [9]) | ? | Yes [7] | USB | Yes, reproducible builds [8] [4] |
+| Trezor Safe 5 | Yes (OPTIGATM Trust M (V3) [9]) | ? | Yes [7] | USB | Yes, reproducible builds [8] [4] |
+
+[1] https://www.ledger.com/improving-and-supporting-the-ledger-nano-s
+[2] https://shop.ledger.com/products/ledger-nano-x#shopify-section-tech-specs--nano-x
+[3] https://www.ledger.com/blog/ledger-op3n-conference-product-launches-updates-our-next-milestones
+[4] https://docs.trezor.io/trezor-firmware/common/reproducible-build.html
+[5] https://www.ledger.com/academy/passphrase-an-advanced-security-feature
+[6] https://shop.ledger.com/products/ledger-stax
+[7] https://trezor.io/learn/a/passphrases-and-hidden-wallets
+[8] https://github.com/trezor/trezor-firmware
+[9] https://trezor.io/learn/a/secure-element-in-trezor-safe-devices
+[10] https://shop.ledger.com/products/ledger-flex
diff --git a/content/_guides/i2p_support.md b/content/guides/i2p-support.md
similarity index 100%
rename from content/_guides/i2p_support.md
rename to content/guides/i2p-support.md
diff --git a/content/_guides/import_transaction.md b/content/guides/import-transaction.md
similarity index 100%
rename from content/_guides/import_transaction.md
rename to content/guides/import-transaction.md
diff --git a/content/_guides/incorrect_balance.md b/content/guides/incorrect-balance.md
similarity index 69%
rename from content/_guides/incorrect_balance.md
rename to content/guides/incorrect-balance.md
index ac049b2..ded8fb6 100644
--- a/content/_guides/incorrect_balance.md
+++ b/content/guides/incorrect-balance.md
@@ -10,7 +10,7 @@ Use this guide if you suspect your balance may be incorrect.
### Do you have any Frozen coins?
-Go to the **Coins** tab (**View → Show coins**). Frozen coins show a blue background color. Frozen coins do not count towards your total balance. [Thaw](freeze-thaw-output) the coins to make them available for spending.
+Go to the **Coins** tab (**View → Coins**). Frozen coins show a blue background color. Frozen coins do not count towards your total balance. [Thaw](freeze-thaw-output) the coins to make them available for spending.
### Rescan spent
diff --git a/content/_guides/keyboard_shortcuts.md b/content/guides/keyboard-shortcuts.md
similarity index 100%
rename from content/_guides/keyboard_shortcuts.md
rename to content/guides/keyboard-shortcuts.md
diff --git a/content/_guides/linux.md b/content/guides/linux.md
similarity index 93%
rename from content/_guides/linux.md
rename to content/guides/linux.md
index c77519c..5a1efe2 100644
--- a/content/_guides/linux.md
+++ b/content/guides/linux.md
@@ -94,23 +94,3 @@ After the download is complete, **make sure to allow executing the file as a pro
You should now be able to run the AppImage by double-clicking on the file in a file explorer. If that does not work, try right-clicking on the file, and look for "Run" or "Open". Alternatively, you can start Feather by typing `./feather-x.x.x.AppImage` in a terminal.
Having trouble getting Feather to start? Please [contact](report-an-issue) the developers.
-
----
-
-## Arch Linux
-
-Feather is available on the [AUR](https://aur.archlinux.org/packages/monero-feather-git).
-
-### Installation with yay
-
-```bash
-yay -S monero-feather-git
-```
-
-### Manually
-
-```bash
-git clone https://aur.archlinux.org/monero-feather-git.git
-cd monero-feather-git
-makepkg -si
-```
diff --git a/content/_guides/local_node.md b/content/guides/local-node.md
similarity index 100%
rename from content/_guides/local_node.md
rename to content/guides/local-node.md
diff --git a/content/_guides/macos.md b/content/guides/macos.md
similarity index 94%
rename from content/_guides/macos.md
rename to content/guides/macos.md
index db61fbf..6cf3621 100644
--- a/content/_guides/macos.md
+++ b/content/guides/macos.md
@@ -24,12 +24,6 @@ The estimated storage requirement is ~70 MB.
- Go to Applications
- Right click on Feather -> Open
-You may be greeted with the following screen:
-
-
-
-Click cancel, and try opening Feather again. This time you should have an option to open Feather.
-
### Verifying the download
diff --git a/content/_guides/missing_tx.md b/content/guides/missing-tx.md
similarity index 94%
rename from content/_guides/missing_tx.md
rename to content/guides/missing-tx.md
index 1af9a77..a858b7a 100644
--- a/content/_guides/missing_tx.md
+++ b/content/guides/missing-tx.md
@@ -16,7 +16,7 @@ You can find the latest version of Feather on [featherwallet.org/download](https
On most operating systems you can use the [built-in updater](updater) to update to the latest version. To upgrade manually, see the installation guide for your specific operating system at the top of these docs.
-**Note**: All Feather versions 1.0.1 and below will stop working after August 13 2022. Upgrade to Feather 2.0.0 to be able to connect to the network.
+**Note**: All Feather versions 1.0.1 and below stopped working after August 13 2022. Upgrade to Feather 2.0.0 to be able to connect to the network.
### Is your wallet synchronized?
@@ -54,4 +54,4 @@ If none of the above worked, ask the sender to provide you with a payment proof
Learn how to verify proofs in Feather [here](verify-tx-proof). You can verify transaction secret keys by using [xmrchain.net](https://xmrchain.net). Look up your transaction ID and click "Prove sending".
-If the sender can not produce a valid payment proof, they may have not sent you any funds!
\ No newline at end of file
+If the sender can not produce a valid payment proof, they may have not sent you any funds!
diff --git a/content/_guides/network_traffic.md b/content/guides/network-traffic.md
similarity index 58%
rename from content/_guides/network_traffic.md
rename to content/guides/network-traffic.md
index a4db3a4..e587e3e 100644
--- a/content/_guides/network_traffic.md
+++ b/content/guides/network-traffic.md
@@ -10,8 +10,5 @@ This section provides an overview of the ways Feather can make network connectio
| To / Feature | Description | Handled by |
|-----------------------------|------------------------------------------------------------|-------------------------|
| [Node](nodes) | Synchronization, transaction construction | epee |
-| [Websocket](websocket) | Fiat price, Reddit, CCS, current blockheight | Qt |
-| [Built-in updater](updater) | Contacts featherwallet.org if a new update is available. Depends on websocket. | Qt |
-| Local Monero | Contacts LocalMonero's v3 address only if a search is initiated in the Local Monero tab.| Qt |
-| [Mining](mining-setup) | Connection to mining pool, only if pool mining. | Qt |
-
+| [Websocket](websocket) | Fiat price, CCS, current blockheight | Qt |
+| [Built-in updater](updater) | Contacts featherwallet.org if a new update is available. Depends on websocket. | Qt |
diff --git a/content/_guides/nodes.md b/content/guides/nodes.md
similarity index 91%
rename from content/_guides/nodes.md
rename to content/guides/nodes.md
index faa943c..16cd132 100644
--- a/content/_guides/nodes.md
+++ b/content/guides/nodes.md
@@ -12,7 +12,7 @@ A **local node** is a node that runs on your own computer or a private network.
A **remote node** is a node that is accessible on a public network. Typically, a third party runs a remote node. Remote nodes are referred to as public nodes in some contexts.
-By default, Feather connects to a random node from a curated list of high performance remote nodes run by trusted members of the Monero community. When Feather is started for the first time, you have the option to configure how to wallet will connect to a node **before** any connections are made.
+By default, Feather connects to a random node from a curated list of high performance remote nodes run by trusted members of the Monero community. When Feather is started for the first time, you have the option to configure how the wallet will connect to a node **before** any connections are made.
You can change how Feather connect by going to **Settings → Network → Nodes**.
@@ -46,14 +46,14 @@ The wallet communicates with the node via a JSON/binary interface: [Daemon RPC](
During normal use the wallet will use the following endpoints:
|Endpoint | Purpose | Comment |
-|---------------|------------------------------------------|
+|---------------|---------|------------------------------------------|
|get_info | General | Provide basic information about the status of the node and Monero network. Results are cached for 30 seconds. |
|/get_blocks.bin| Sync | Obtain block data for wallet synchronization |
|/get_hashes.bin| Sync | Get block hashes. Saved in wallet cache (m_blockchain). |
|/get_transaction_pool_hashes.bin| Sync | Get tx hashes from transaction pool. Called every 10 seconds after main sync is finished. |
|/get_transactions| Sync | Get pool transactions the wallet hasn't scanned before. |
|/get_output_distribution| Tx Construction | Output distribution used in decoy selection. Data is hashed and checked against a hardcoded value to mitigate against output distribution poisoning. In Feather, the distribution is requested and cached immediately upon finishing wallet synchronization to cut bandwidth requirements for transaction construction by an order of magnitude. |
-|/get_outs.bin| Tx Construction | Request output public keys for selected indeces of ring members. The wallet cannot verify the validity of the public keys, except for the true input. Feather will show a warning if the true input is missing from the reponse. |
+|/get_outs.bin| Tx Construction | Request output public keys for selected indices of ring members. The wallet cannot verify the validity of the public keys, except for the true input. Feather will show a warning if the true input is missing from the response. |
|get_fee_estimate| Tx Construction | Get base transaction fee. Malicious nodes can introduce a fungibility defect by providing an incorrect fee estimate. |
|hard_fork_info | Tx Construction | Get information about hard fork state. |
|/send_raw_transaction | Tx Broadcast | Instruct the node to broadcast the transcation to the network. |
diff --git a/content/_guides/offline_tx_signing.md b/content/guides/offline-tx-signing.md
similarity index 87%
rename from content/_guides/offline_tx_signing.md
rename to content/guides/offline-tx-signing.md
index 109ca68..06f3088 100644
--- a/content/_guides/offline_tx_signing.md
+++ b/content/guides/offline-tx-signing.md
@@ -17,7 +17,7 @@ Transactions are constructed using the view-only wallet on the online device, th
Feather supports two airgapped transaction signing methods:
- Using a webcam to scan **animated QR code** (Uniform Resources, or **UR** for short)
-- By transfering **files** between computers (using a flash drive or SD card)
+- By transferring **files** between computers (using a flash drive or SD card)
For this guide we assume you will be using animated QR codes.
@@ -52,15 +52,13 @@ Now that you have your offline wallet set up, you need to create a corresponding
Three pieces of information are required for this: secret view key, primary address, and restore height.
-The easiest way to transfer this information to your online device is by using a UR (animated QR code).
+The easiest way to transfer this information to your online device is scanning a QR code.

-
+
-Press **View-only details**, then press **Transmit over UR**. You will be asked to enter a one-time password to encrypt your view-only details. This is the only time you will have to do this, future airgapped signing messages are automatically encrypted with the shared private view key. You can forget the one-time password after entering it on the online device in a later step.
-
-This will pop up a dialog with an animated QR code that covers most of the screen. Big QR codes are easier to scan.
+Press **View-only details**, then press **Show QR**.

@@ -68,21 +66,9 @@ On the **online** device, open the wizard and select **Restore wallet from keys*

-Press **Scan UR**. A dialog will show up that looks like this:
-
-
-
-Familiarize yourself with the scanning UI:
-
-1. If you have multiple cameras, you can click here to switch between cameras
-2. You can click on 'Refresh' to refresh the list of cameras
-3. This progress bar will fill up as you scan fragments. If it appears to get stuck on 99%, keep scanning.
-4. If you have trouble scanning the QR code due to glare, you can enable manual exposure here if your camera supports it. Use the slider to adjust the exposure level.
-
-Scan the code shown on the offline device. If everything went right, the dialog should close automatically on completion
-and autofill the view-only details.
+Press **Scan QR** and scan the code shown on the offline device. If you have trouble scanning the QR code, see [Help: Airgapped signing issues](airgapped-signing-issues) for tips.
-If you have trouble scanning the QR code, see [Help: Airgapped signing issues](airgapped-signing-issues) for tips.
+If everything went right, the dialog should close automatically and autofill the view-only details.
Step through the wizard.
@@ -111,7 +97,16 @@ worry, the wizard will guide you through this.

-To scan the animated QR code, click **Sign a transaction..** on the **offline** wallet.
+To scan the animated QR code, click **Sign a transaction..** on the **offline** wallet. A dialog will show up that looks like this:
+
+
+
+Familiarize yourself with the scanning UI:
+
+1. If you have multiple cameras, you can click here to switch between cameras
+2. You can click on 'Refresh' to refresh the list of cameras
+3. This progress bar will fill up as you scan fragments. If it appears to get stuck on 99%, keep scanning.
+4. If you have trouble scanning the QR code due to glare, you can enable manual exposure here if your camera supports it. Use the slider to adjust the exposure level.
Follow the instructions in the wizard. Or continue reading here to go step by step.
@@ -156,4 +151,4 @@ Scan the animated QR code shown on the offline wallet with the view-only wallet.
After the scan is complete, a dialog will pop up asking you to confirm sending the transaction. You have just sent an airgapped transaction!
-The next time you create a transaction, you will likely not have to go through steps 1 or 2.
\ No newline at end of file
+The next time you create a transaction, you will likely not have to go through steps 1 or 2.
diff --git a/content/_guides/paths.md b/content/guides/paths.md
similarity index 92%
rename from content/_guides/paths.md
rename to content/guides/paths.md
index a41d1db..2938379 100644
--- a/content/_guides/paths.md
+++ b/content/guides/paths.md
@@ -19,7 +19,6 @@ The **Program data** folder contains the following files:
|-----------------------|------------------|-------------------------------------------------------------------------------|
| Configuration | `settings.json` | JSON file containing wallet settings |
| Tor program file | `./tor/*` | Bundled Tor program files, placed here when Feather starts |
-| Fiat history database | `fiatHistory.db` | Text file with on each row: `YYYYMMDD:` |
| Log files | `libwallet.log*` | Monero core wallet implementation logs. Log files are not written by default. |
**Exceptions**:
diff --git a/content/_guides/pay_to_many.md b/content/guides/pay-to-many.md
similarity index 90%
rename from content/_guides/pay_to_many.md
rename to content/guides/pay-to-many.md
index 69a7128..0d057a7 100644
--- a/content/_guides/pay_to_many.md
+++ b/content/guides/pay-to-many.md
@@ -19,4 +19,4 @@ This transaction sends 1 XMR to the first address and 0.5 XMR to the second addr
The **Amount** field displays the total amount to be sent.
-A maximum of 16 outputs may be specified. This is a limitation in the Monero protocol.
+A maximum of 15 outputs may be specified. This is a limitation in the Monero protocol.
diff --git a/content/_guides/portable_mode.md b/content/guides/portable-mode.md
similarity index 100%
rename from content/_guides/portable_mode.md
rename to content/guides/portable-mode.md
diff --git a/content/_guides/primary_address.md b/content/guides/primary-address.md
similarity index 88%
rename from content/_guides/primary_address.md
rename to content/guides/primary-address.md
index ebd380b..c0d7ee3 100644
--- a/content/_guides/primary_address.md
+++ b/content/guides/primary-address.md
@@ -12,11 +12,11 @@ The primary address is a valid Monero address and can be used to receive funds.
You may need your primary address when you are:
-- [Solo-mining](mining-setup)
+- Solo-mining
- [Creating a view-only wallet](create-view-only-wallet)
- Transacting with a service that does not accept subaddresses
-If you are transaction with a service that does not accept addresses starting with an '8', please ask them to add support for subaddresses. This requires very little effort on their part.
+If you are transacting with a service that does not accept addresses starting with an '8', please ask them to add support for subaddresses. This requires very little effort on their part.
### Why is the primary address hidden by default from the Receive tab?
@@ -28,4 +28,4 @@ Right-click the table header **→ Show change address**. You may also need to s
### Where can I find my primary address?
-You can find it in **Wallet → Keys**.
\ No newline at end of file
+You can find it in **Wallet → Keys**.
diff --git a/content/_guides/prove_ownership_of_address.md b/content/guides/prove-ownership-of-address.md
similarity index 100%
rename from content/_guides/prove_ownership_of_address.md
rename to content/guides/prove-ownership-of-address.md
diff --git a/content/_guides/prove_payment.md b/content/guides/prove-payment.md
similarity index 100%
rename from content/_guides/prove_payment.md
rename to content/guides/prove-payment.md
diff --git a/content/_guides/prove_tx_authorship.md b/content/guides/prove-tx-authorship.md
similarity index 100%
rename from content/_guides/prove_tx_authorship.md
rename to content/guides/prove-tx-authorship.md
diff --git a/content/_guides/push_tx.md b/content/guides/push-tx.md
similarity index 100%
rename from content/_guides/push_tx.md
rename to content/guides/push-tx.md
diff --git a/content/_guides/raspberry_pi.md b/content/guides/raspberry-pi.md
similarity index 100%
rename from content/_guides/raspberry_pi.md
rename to content/guides/raspberry-pi.md
diff --git a/content/_guides/receive_transaction.md b/content/guides/receive-transaction.md
similarity index 89%
rename from content/_guides/receive_transaction.md
rename to content/guides/receive-transaction.md
index a89ce93..3c33aec 100644
--- a/content/_guides/receive_transaction.md
+++ b/content/guides/receive-transaction.md
@@ -15,6 +15,8 @@ It is best practice to label an address before you copy it. This way you avoid a
Copy the address to your clipboard by right-clicking on an address **→ Copy Address** or by pressing `Ctrl + C`. **Never write down an address by hand**, a mistake may result in unrecoverable funds.
+A precaution you can also take, is asking the sender to send a piconero (0.000000000001 XMR) before the actual real amount so you can be assured there are no issues and the address you copied is correct.
+
If you need to transfer the address to a different device, here are some options:
- Save your address to a .txt file and use a USB drive to transfer it
@@ -23,9 +25,9 @@ If you need to transfer the address to a different device, here are some options
For increased readability, addresses are only shown partially. If you must copy an address manually, right click on the table header **→ Show full addresses**.
-Once an address receives an incoming transaction it is automatically hidden from view. You can unhide used addresses by clicking on **Show used**.
+Once an address receives an incoming transaction it is automatically hidden from view. You can unhide used addresses by clicking on **Show used addresses**.
-If you want to manually hide an address, right click on the address **→ Hide Address**. You can unhide hidden addresses by clicking on **Show hidden**.
+If you want to manually hide an address, right click on the address **→ Hide Address**. You can unhide hidden addresses by clicking on **Show hidden addresses**.
### Q: A service tells me the address is invalid. What do I do?
diff --git a/content/guides/release-signing-key.md b/content/guides/release-signing-key.md
new file mode 100644
index 0000000..5f8d581
--- /dev/null
+++ b/content/guides/release-signing-key.md
@@ -0,0 +1,32 @@
+---
+title: Obtaining the release signing key
+nav_title: Release signing key
+category: advanced
+---
+
+You can obtain the _release signing key_ from our [GitHub repo](https://raw.githubusercontent.com/feather-wallet/feather/master/utils/pubkeys/featherwallet.asc) or [featherwallet.org](https://featherwallet.org/files/featherwallet.asc).
+
+It can also be obtained from a keyserver:
+
+```bash
+gpg --keyserver hkps://keys.openpgp.org --search dev@featherwallet.org
+gpg --keyserver hkps://keyserver.ubuntu.com --search dev@featherwallet.org
+```
+
+### Fingerprint
+
+After importing the key, verify that the fingerprint matches:
+
+```
+8185 E158 A333 30C7 FD61 BC0D 1F76 E155 CEFB A71C
+```
+
+We recommend that you cross-check the fingerprint shown above through the resources listed below. This way you can be confident that you obtained the correct key.
+
+- [Matrix channel description](https://matrix.to/#/#feather:monero.social)
+- [monero.town community sidebar](https://monero.town/c/featherwallet)
+- [monerosecurity.org](https://monerosecurity.org)
+- [X profile](https://twitter.com/FeatherWallet)
+- Through DNS (Linux): `drill -D key.featherwallet.net TXT`
+
+If any of the resources listed above do not have a matching fingerprint, please [report](report-an-issue) this to the developers immediately.
diff --git a/content/guides/report-an-issue.md b/content/guides/report-an-issue.md
new file mode 100644
index 0000000..f7a5410
--- /dev/null
+++ b/content/guides/report-an-issue.md
@@ -0,0 +1,22 @@
+---
+title: How to report an issue
+nav_title: Report an issue
+category: help
+---
+
+Issues or support queries can be reported via any of the following channels:
+
+- Matrix: [matrix.to/#/#feather:monero.social](https://matrix.to/#/#feather:monero.social)
+- IRC: `#feather` on [OFTC](https://www.oftc.net/)
+- Email: [dev@featherwallet.org](mailto:dev@featherwallet.org)
+- GitHub: [github.com/feather-wallet/feather](https://github.com/feather-wallet/feather)
+
+To help us quickly identify what the issue might be, please include a copy of the **Help → Debug Info** dialog.
+
+For live support please contact us via IRC or Matrix. If you do not have an IRC client, you can join the room via [webchat](https://webchat.oftc.net/?randomnick=1&channels=feather). If you don't receive a response immediately please idle in the room.
+
+To report a security vulnerability, please refer to our [security policy](https://github.com/feather-wallet/feather/blob/master/SECURITY.md) for responsible disclosure.
+
+Feather does not have an official Telegram channel.
+
+Feather only owns and manages the following domains and websites: featherwallet.org, feather-wallet.com, feather-wallet.net, and featherwallet.net. Any websites other than these should be treated with caution, as they may be phishing sites. To ensure your safety, it is essential to always verify the authenticity of any downloads and only download from trusted sources like [GitHub](https://github.com/feather-wallet/feather/releases) and [featherwallet.org](https://featherwallet.org/).
diff --git a/content/_guides/restore_from_seed.md b/content/guides/restore-from-seed.md
similarity index 100%
rename from content/_guides/restore_from_seed.md
rename to content/guides/restore-from-seed.md
diff --git a/content/_guides/restore_height.md b/content/guides/restore-height.md
similarity index 96%
rename from content/_guides/restore_height.md
rename to content/guides/restore-height.md
index 88162fb..b952aea 100644
--- a/content/_guides/restore_height.md
+++ b/content/guides/restore-height.md
@@ -12,7 +12,7 @@ You don't typically have to worry about the restore height when using Feather. F
You may need to enter a restore height if you are:
-- Restoring a wallet from a 24 word seed
+- Restoring a wallet from a 25 word seed
- Restoring a wallet from a hardware device
diff --git a/content/_guides/seed_scheme.md b/content/guides/seed-scheme.md
similarity index 54%
rename from content/_guides/seed_scheme.md
rename to content/guides/seed-scheme.md
index 205cbeb..b15c6f1 100644
--- a/content/_guides/seed_scheme.md
+++ b/content/guides/seed-scheme.md
@@ -14,28 +14,6 @@ Polyseed has a number of advantages over Monero's standard seeds:
- It uses BIP-39 wordlists. These wordlists container shorter and more common words than Monero's lists.
- Polyseeds seeds are quicker to write down and memorize.
-### Supported languages
-
-| Language | Polyseed (BIP-39) | 25-word (Monero) |
-|-----------------------|-------------------|------------------|
-| English | ✔ | ✔ |
-| Japanese | ✔ | ✔ |
-| Korean | ✔ | ✖ |
-| Spanish | ✔ | ✔ |
-| Chinese (simplified) | ✔ | ✔ |
-| Chinese (traditional) | ✔ | ✖ |
-| French | ✔ | ✔ |
-| Italian | ✔ | ✔ |
-| Czech | ✔ | ✖ |
-| Portugese | ✔ | ✖ |
-| Dutch | ✖ | ✔ |
-| Esperanto | ✖ | ✔ |
-| German | ✖ | ✔ |
-
-**Note**: as of 2.0.0 only English is supported for Polyseed.
-
-All BIP-39 wordlists can be found [here](https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md).
-
### I have a 14 word seed, will I be able to restore it in the future?
Yes. Feather will support restoring 14 word seeds indefinitely. You do not need to transfer the funds to a new wallet.
diff --git a/content/_guides/send_transaction.md b/content/guides/send-transaction.md
similarity index 93%
rename from content/_guides/send_transaction.md
rename to content/guides/send-transaction.md
index 9489028..c3761ea 100644
--- a/content/_guides/send_transaction.md
+++ b/content/guides/send-transaction.md
@@ -13,9 +13,9 @@ In the **Pay to** field, enter the address you want to transfer funds to. You ma
In the **Description** field, you may enter an optional transaction description. The description is not sent to the recipient of the funds, it only exists for your own bookkeeping. The description is stored in the wallet cache, and displayed in the **History** tab.
-In the **Amount** field, enter the amount you want to send. This is the exact amount the recipient will receive, it does not include the miner fee. To send all your balance, click the **Max** button.
+In the **Amount** field, enter the amount you want to send. This is the exact amount the recipient will receive, it does not include the transaction fee. To send all your balance, click the **Max** button.
-To construct the transaction, click **Send**. You will be able to review the transaction details and miner fee before broadcasting.
+To construct the transaction, click **Send**. You will be able to review the transaction details and transaction fee before broadcasting.
If you are using a hardware wallet you may need to authorize the transaction on the device. Transaction construction on a hardware device can take several minutes.
diff --git a/content/_guides/show_wallet_seed.md b/content/guides/show-wallet-seed.md
similarity index 100%
rename from content/_guides/show_wallet_seed.md
rename to content/guides/show-wallet-seed.md
diff --git a/content/_guides/sign_verify_message.md b/content/guides/sign-verify-message.md
similarity index 100%
rename from content/_guides/sign_verify_message.md
rename to content/guides/sign-verify-message.md
diff --git a/content/_guides/stagenet_testnet_mode.md b/content/guides/stagenet-testnet-mode.md
similarity index 57%
rename from content/_guides/stagenet_testnet_mode.md
rename to content/guides/stagenet-testnet-mode.md
index d278f21..3f594d6 100644
--- a/content/_guides/stagenet_testnet_mode.md
+++ b/content/guides/stagenet-testnet-mode.md
@@ -12,7 +12,8 @@ It is not possible at this time to change the network mode from within the Feath
### Faucets
-You can quickly obtain free stagenet / testnet coins for testing purposing by using a faucet.
+You can quickly obtain free stagenet coins for testing purposing by using a faucet.
-**Stagenet**: [https://tools.rino.io/faucet/stagenet/](https://tools.rino.io/faucet/stagenet/)
-**Testnet**: [https://tools.rino.io/faucet/testnet/](https://tools.rino.io/faucet/testnet/)
+**Stagenet**: [https://stagenet-faucet.xmr-tw.org/](https://stagenet-faucet.xmr-tw.org/)
+
+There are no known Testnet faucets. You may be able to find more links [here](https://docs.getmonero.org/infrastructure/networks/).
diff --git a/content/_guides/supported_operating_systems.md b/content/guides/supported-operating-systems.md
similarity index 69%
rename from content/_guides/supported_operating_systems.md
rename to content/guides/supported-operating-systems.md
index eb42848..4c11768 100644
--- a/content/_guides/supported_operating_systems.md
+++ b/content/guides/supported-operating-systems.md
@@ -7,11 +7,11 @@ weight: 1000
Official Feather builds run on the following operating systems:
-| Operating System | Minimum version | Architecture |
-|------------------|------------------------------------------------------------|----------------------------|
-| Linux | [glibc 2.27](https://repology.org/project/glibc/versions) | x64, arm32, arm64, riscv64 |
-| Windows | [10](https://endoflife.date/windows), version 21H2 | x64 |
-| macOS | [10.14](https://endoflife.date/macos) (Mojave) | Intel, Apple Silicon |
+| Operating System | Minimum version | Architecture |
+|------------------|-----------------------------------------------------------|----------------------------|
+| Linux | [glibc 2.31](https://repology.org/project/glibc/versions) | x64, arm32, arm64, riscv64 |
+| Windows | [10 and higher](https://endoflife.date/windows) | x64 |
+| macOS | [14 and higher](https://endoflife.date/macos) | Intel, Apple Silicon |
It is strongly recommended that you run the latest version of Feather on an updated and supported operating system from
a vendor you trust.
@@ -21,8 +21,7 @@ If an operating system / distribution no longer receives security updates, we ma
This allows us to keep our build system and dependencies up-to-date and ensures our releases benefit from optimizations
and security improvements that modern compilers provide.
-Using Feather on an unsupported ("End-of-Life") distribution increases the risk of attracting malware through unpatched
-security vulnerabilities which may result in a loss of privacy or a loss of funds.
+Using Feather on an unsupported ("End-of-Life") distribution increases the risk of malware infection due to unpatched security vulnerabilities which may result in a loss of privacy or a loss of funds.
#### Why no support for Windows 7 / 8.1 ?
diff --git a/content/_guides/sweep_output.md b/content/guides/sweep-output.md
similarity index 93%
rename from content/_guides/sweep_output.md
rename to content/guides/sweep-output.md
index 2f7be92..ace2609 100644
--- a/content/_guides/sweep_output.md
+++ b/content/guides/sweep-output.md
@@ -4,7 +4,7 @@ nav_title: Sweep outputs
category: howto
---
-Make sure the **Coins** tab is enabled: **View → Show Coins**.
+Make sure the **Coins** tab is enabled: **View → Coins**.
On the **Coins** tab, select one or more outputs to sweep. To select multiple outputs hold the Ctrl-key.
@@ -16,7 +16,7 @@ By specifying the **number of outputs**, you may split the total sum of the sele
### What is a sweep
-A sweep transaction creates no change outputs. The total value of the sweeped coins is transferred to the destination address (minus miner fee).
+A sweep transaction creates no change outputs. The total value of the sweeped coins is transferred to the destination address (minus transaction fee).
### When to sweep
diff --git a/content/_guides/switch_subaddress_account.md b/content/guides/switch-subaddress-account.md
similarity index 100%
rename from content/_guides/switch_subaddress_account.md
rename to content/guides/switch-subaddress-account.md
diff --git a/content/_guides/synchronization.md b/content/guides/synchronization.md
similarity index 100%
rename from content/_guides/synchronization.md
rename to content/guides/synchronization.md
diff --git a/content/_guides/tails.md b/content/guides/tails.md
similarity index 56%
rename from content/_guides/tails.md
rename to content/guides/tails.md
index 4b528c9..728ec54 100644
--- a/content/_guides/tails.md
+++ b/content/guides/tails.md
@@ -9,43 +9,43 @@ Installation will only take a few minutes to complete.
The estimated storage requirement is ~30 MB.
-## Configuring the persistent volume
+## Configuring the Persistent Storage
-Tails is an amnesic operating system. By default, files are not saved to your USB drive and are thus lost after the computer is restarted. Only files stored on the _persistent volume_ are kept across different working sessions.
+Tails is an amnesic operating system. By default, files are not saved to your USB drive and are thus lost after the computer is restarted. Only files stored on the _Persistent Storage_ are kept across different working sessions.
-We strongly recommend that you store Feather on the persistent volume. This way, you won't have to reinstall Feather and restore your wallets each time you start Tails.
+We strongly recommend that you store Feather on the Persistent Storage. This way, you won't have to reinstall Feather and restore your wallets each time you start Tails.
-You need to configure the persistent volume before you can use it. If you have already configured the persistent volume, skip ahead to the next section.
+You need to configure the Persistent Storage before you can use it. If you have already configured the Persistent Storage, skip ahead to the next section.
-Go to **Applications → System Tools → Configure persistent volume**.
+Go to **Applications → System Tools → Persistent Storage**.
-Enter a strong password to protect the persistent volume. Files on the persistent volume are encrypted with your password.
+Enter a strong password to protect the Persistent Storage. Files on the Persistent Storage are encrypted with your password.
Follow through the remaining screens. You do not need to enable any additional settings.
-You must restart Tails before you can continue with the installation. When you get to the Tails greeter enter your password to unlock the persistent volume.
+You must restart Tails before you can continue with the installation. When you get to the Tails greeter enter your password to unlock the Persistent Storage.
-The persistent volume will show up in the File Browser as a folder named `Persistent`. You can quickly access it from the sidebar.
+The Persistent Storage will show up in the File Browser as a folder named `Persistent`. You can quickly access it from the sidebar.
## Downloading Feather
Download the latest AppImage for Tails from [featherwallet.org/download](https://featherwallet.org/download).
-- Tip: Save the file to the default location. Tor Browser on Tails does not have access to other folders.
-
-After the download is complete, move the AppImage to a folder within your persistent volume (Home → Persistent).
+Save the file to your Persistent Storage. (Click on `Persistent` in the sidebar.)
## Verifying the download (optional)
This section describes how to verify the AppImage file using PGP.
-Download the release signing key from the [git repository](https://raw.githubusercontent.com/feather-wallet/feather/master/utils/pubkeys/featherwallet.asc). To save the file from Tor Browser: right click **→ Save Page As.. → Save**. (For alternative ways of obtaining the release signing key, see: [Release signing key](release-signing-key))
+Download the release signing key from the [git repository](https://raw.githubusercontent.com/feather-wallet/feather/master/utils/pubkeys/featherwallet.asc). To save the file from Tor Browser: right click **→ Save Page As..**. Save the file to the Peristent Storage.
+
+(For alternative ways of obtaining the release signing key, see: [Release signing key](release-signing-key))
Go back to [featherwallet.org/download](https://featherwallet.org/download) and download the **signature** file for the Tails AppImage.
-Place both files in the same directory as the AppImage. You should now have a folder that contains `feather-x.x.x.AppImage`, `feather-x.x.x-AppImage.asc` and `featherwallet.asc`.
+You should now have a folder that contains `feather-x.x.x-a.AppImage`, `feather-x.x.x-a.AppImage.asc` and `featherwallet.asc`.
-In the file browser, right click on some empty space and select **Open in Terminal**.
+In the file browser, right click on some empty space and select **Open in Console**.
In the Terminal enter: `gpg --import featherwallet.asc` and press enter. The output should contain a line that says:
@@ -63,20 +63,27 @@ Make sure the **fingerprint** shown above matches the output in your terminal. O
If the fingerprint does not match, do not continue the installation. Instead, [report](report-an-issue) this incident to the developers.
-Now enter: `gpg --verify feather-x.x.x.AppImage.asc` and press enter. Replace x.x.x with the correct version. If the signature is valid, the output should contain the following line:
+Now enter: `gpg --verify feather-x.x.x-a.AppImage.asc` and press enter. Replace x.x.x with the correct version. If the signature is valid, the output should contain the following line:
```
gpg: Good signature from "FeatherWallet " [unknown]
```
+You can safely ignore the following warning:
+
+```
+WARNING: This key is not certified with a trusted signature!
+ There is no indication that the signature belongs to the owner.
+```
+
If the signature is invalid, do not continue with the installation. Instead, [report](report-an-issue) this incident to the developers immediately.
After verification is complete you can delete both `.asc` files.
## Starting Feather
-Right click on the AppImage **→ Properties → Permissions**. Make sure "Allow executing file as program" is enabled. You will only have to do this once.
+Right-click on the AppImage **→ Properties**. Make sure "Executable as Program" is enabled. You will only have to do this once.
-To start Feather simply double click on the AppImage. If the program doesn't start, try right click **→ Run**.
+To start Feather simply double-click on the AppImage. If the program doesn't start, try right click **→ Run**.
Having trouble getting Feather to start? Please [contact](report-an-issue) the developers.
diff --git a/content/_guides/tor_support.md b/content/guides/tor-support.md
similarity index 95%
rename from content/_guides/tor_support.md
rename to content/guides/tor-support.md
index 3f6f083..ac1fd07 100644
--- a/content/_guides/tor_support.md
+++ b/content/guides/tor-support.md
@@ -13,11 +13,11 @@ If you are unable to connect to the Tor network on your machine, you may configu
Feather can be configured to handle traffic to nodes in three different ways:
- Never over Tor
-- Switch to Tor after intial synchronization (**default**)
+- Switch to Tor after initial synchronization (**default**)
- Always over Tor
You have the option to select the desired mode when Feather is started for the first time **before** any network connections are made. You can also change the mode in the **Settings → Network → Proxy** tab.
By default, Feather routes all network traffic over Tor, except for wallet synchronization. Synchronization requires a lot of data transfer and is therefore very slow over Tor. A remote node does not learn much about your wallet during synchronization (for more information see [Nodes](nodes)). We believe this is a reasonable privacy / convenience trade-off.
-On Tails, Whonix, or when Feather is started with `torsocks`, all traffic is routed through Tor regardless of application configuration. Traffic to a [local node](local-node) is never routed over Tor.
\ No newline at end of file
+On Tails, Whonix, or when Feather is started with `torsocks`, all traffic is routed through Tor regardless of application configuration. Traffic to a [local node](local-node) is never routed over Tor.
diff --git a/content/_guides/transaction_fee.md b/content/guides/transaction-fee.md
similarity index 51%
rename from content/_guides/transaction_fee.md
rename to content/guides/transaction-fee.md
index 0c56fbb..199bf4a 100644
--- a/content/_guides/transaction_fee.md
+++ b/content/guides/transaction-fee.md
@@ -6,14 +6,9 @@ category: faq
Feather automatically adjusts the transaction fee based on the number of transactions in the mempool. This behavior is identical to the “automatic” fee option in the GUI.
-#### Can I manually adjust the transaction fee?
-
-It is not currently possible to manually adjust the transaction fee in Feather.
-
-Transaction fees are visible on the blockchain, therefore setting it manually can make your transaction stick out and harm your privacy. In the interest of transaction uniformity, we have decided to not add this feature at this time.
-
-Besides, paying a higher than normal fee usually has no impact on the time it takes for your transaction to get confirmed. This is because Monero blocks are usually not full and thus there is no competition for block space. Transactions paying the minimum fee will almost always get included in 1 or 2 blocks.
+#### Can I manually select the fee-tier?
+Yes. In the settings, go to the transactions tab and enable "manual fee-tier selection". A selection box will appear on the Send tab.
#### My outgoing transaction still hasn't confirmed, what can I do?
@@ -25,4 +20,4 @@ If the transaction shows up, all you can do is wait. Your transaction should be
#### Who receives the transaction fee?
-The fee is paid to the miner that mines the block that includes the transaction. The Feather developers do not take a cut from the transaction fee.
+The fee is paid to the entity that mines the block that includes the transaction. The Feather developers do not take a cut from the transaction fee.
diff --git a/content/_guides/troubleshooting_startup_issues.md b/content/guides/troubleshooting-startup-issues.md
similarity index 100%
rename from content/_guides/troubleshooting_startup_issues.md
rename to content/guides/troubleshooting-startup-issues.md
diff --git a/content/_guides/tx_did_not_arrive.md b/content/guides/tx-did-not-arrive.md
similarity index 100%
rename from content/_guides/tx_did_not_arrive.md
rename to content/guides/tx-did-not-arrive.md
diff --git a/content/_guides/updater.md b/content/guides/updater.md
similarity index 95%
rename from content/_guides/updater.md
rename to content/guides/updater.md
index d00b92e..fe5ab52 100644
--- a/content/_guides/updater.md
+++ b/content/guides/updater.md
@@ -12,8 +12,6 @@ Updates that are installed via the built-in updater are verified in multiple way
If you choose to update your wallet, the update will be placed alongside the old executable in the same directory. You may delete the old executable after you have verified that the new version starts properly on your machine.
-**Note**: As of `beta-8` the updater is disabled on macOS.
-
### Update security
The websocket server notifies the client of the latest Feather version.
@@ -28,4 +26,4 @@ It will notify the client that a new update is available. After the user downloa
If you don't want to run the latest version of Feather and do not want to be bothered by the update notification:
- Go to **Settings → Display**
-- Check "**Hide update notifications**"
\ No newline at end of file
+- Check "**Hide update notifications**"
diff --git a/content/_guides/verify_tx_proof.md b/content/guides/verify-tx-proof.md
similarity index 100%
rename from content/_guides/verify_tx_proof.md
rename to content/guides/verify-tx-proof.md
diff --git a/content/_guides/wallet_cache_viewer.md b/content/guides/wallet-cache-viewer.md
similarity index 94%
rename from content/_guides/wallet_cache_viewer.md
rename to content/guides/wallet-cache-viewer.md
index 1200722..4863a57 100644
--- a/content/_guides/wallet_cache_viewer.md
+++ b/content/guides/wallet-cache-viewer.md
@@ -41,7 +41,5 @@ Datastructures not displayed in the viewer:
- `feather.seed`: backup copy of the wallet's [Polyseed](seed-scheme)
- `feather.seedoffset`: seed offset passphrase
- `feather.hiddenaddresses`: comma delimited list of hidden subaddresses.
-- `feather.xmrig_username`: receiving address in mining settings
-- `feather.xmrig_password`: password for mining pool
- `feather.subaddress_account`: index of selected subaddress account
- `tx:`: hexstring of outgoing transaction
diff --git a/content/_guides/wallet_files.md b/content/guides/wallet-files.md
similarity index 87%
rename from content/_guides/wallet_files.md
rename to content/guides/wallet-files.md
index 0db06ed..8c0a994 100644
--- a/content/_guides/wallet_files.md
+++ b/content/guides/wallet-files.md
@@ -40,9 +40,9 @@ This file is used to distinguish wallets on different networks from eachother.
## Encryption
-The keys and cache files are encrypted using the [chacha20 stream cipher](https://www.cryptopp.com/wiki/ChaCha20). The KDF to generate the encryption key from the wallet password is [CryptoNight](https://monerodocs.org/proof-of-work/cryptonight/), a memory hard hash function that was used in Monero's proof-of-work before RandomX.
+The keys and cache files are encrypted using the [chacha20 stream cipher](https://web.archive.org/web/20240606185144/https://www.cryptopp.com/wiki/ChaCha20). The KDF to generate the encryption key from the wallet password is 𝒄𝒓𝒚𝒑𝒕𝒐𝒏𝒊𝒈𝒉𝒕, a memory hard hash function that was used in Monero's proof-of-work before ʀᴀɴᴅᴏᴍx.
->The CryptoNight hash operates by first using Keccak 1600,
+>The 𝒄𝒓𝒚𝒑𝒕𝒐𝒏𝒊𝒈𝒉𝒕 hash operates by first using Keccak 1600,
>the 1600 bit variant of the Keccak hash used in SHA-3, to create a 200 byte
>buffer of pseudorandom data by hashing the supplied data. It then uses this
>random data to fill a large 2MB buffer with pseudorandom data by iteratively
@@ -60,4 +60,4 @@ A modern CPU takes about 30-40 ms to run the KDF on a single core using the refe
## Compatibility with other wallets
-Wallet files are generally compatible with other Monero wallets. Meaning, you can create a wallet with the CLI or GUI and open it in Feather or vice versa. However, compatibility issues may occur if the the underlying wallet implementation versions differ too much. Before opening a wallet file in a different client, make sure both clients are up to date.
\ No newline at end of file
+Wallet files are generally compatible with other Monero wallets. Meaning, you can create a wallet with the CLI or GUI and open it in Feather or vice versa. However, compatibility issues may occur if the the underlying wallet implementation versions differ too much. Before opening a wallet file in a different client, make sure both clients are up to date.
diff --git a/content/_guides/webcam_qr_scanner.md b/content/guides/webcam-qr-scanner.md
similarity index 100%
rename from content/_guides/webcam_qr_scanner.md
rename to content/guides/webcam-qr-scanner.md
diff --git a/content/_guides/websocket.md b/content/guides/websocket.md
similarity index 70%
rename from content/_guides/websocket.md
rename to content/guides/websocket.md
index db312b6..562bb36 100644
--- a/content/_guides/websocket.md
+++ b/content/guides/websocket.md
@@ -6,7 +6,7 @@ category: faq
The websocket server is a service hosted by the Feather developers that provides Feather Wallet clients with data from third party services.
-It is used by the wallet to obtain pricing information, CCS & Reddit feeds, a curated list of remote nodes, the latest version of Feather Wallet and more. For more details view the table below.
+It is used by the wallet to obtain pricing information, CCS proposals, a curated list of remote nodes, the latest version of Feather Wallet and more. For more details view the table below.
The websocket server is only used to fetch information. The wallet does not send information about its state or the transactions you send to the websocket server. It is not used for any telemetry or crash reports. The wallet does not send a unique client id.
@@ -31,17 +31,12 @@ The following data is provided by the websocket server:
|key | description |
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
|blockheights | Current mainnet and stagenet blockheights. Used to speed up initial synchronization of newly created wallets. |
-|nodes | A curated list of high-performance nodes run by trusted members of the community. Includes status information such as their current blockheight. |
+|nodes | A curated list of high-performance nodes run by trusted members of the community. Includes status information such as their current blockheight.|
|crypto_rates | Crypto exchange rates. Obtained from CoinGecko. |
-|fiat_rates | Fiat exchange rates |
-|reddit | Latest Reddit posts in /r/Monero. Displayed on the Home screen. |
-|ccs | Crowdfunding proposals from the Community Crowdfunding System and MAGIC Monero Fund. Displayed on the Home screen. |
-|txFiatHistory | Historical fiat prices |
-|updates | Latest Feather version |
-|xmrig | Latest xmrig downloads |
-|localmonero_countries | List of countries supported by LocalMonero |
-|localmonero_currencies | List of currencies supported by LocalMonero |
-|localmonero_payment_methods| List of payment methods supported by LocalMonero |
+|fiat_rates | Fiat exchange rates. Obtained from CurrencyScoop and APILayer (fallback). |
+|ccs | Crowdfunding proposals from the Community Crowdfunding System and MAGIC Monero Fund. Displayed on the Home screen. |
+|txFiatHistory | Historical fiat prices. Obtained from CoinCap. |
+|updates | Latest FeatherWallet version. |
### Disabling the websocket connection
@@ -61,4 +56,3 @@ The following functionality will be disabled:
- Send: send by specifying a fiat amount
- History: historical fiat prices column
- Settings → Network → Node: updated list of websocket nodes.
-- Mining → Downloads: the list of XMRig downloads will be unavailable.
diff --git a/content/_guides/windows.md b/content/guides/windows.md
similarity index 100%
rename from content/_guides/windows.md
rename to content/guides/windows.md
diff --git a/_data/guide_categories.yml b/data/guide_categories.yaml
similarity index 100%
rename from _data/guide_categories.yml
rename to data/guide_categories.yaml
diff --git a/hugo.toml b/hugo.toml
new file mode 100644
index 0000000..c99d909
--- /dev/null
+++ b/hugo.toml
@@ -0,0 +1,48 @@
+baseURL = "https://docs.featherwallet.org/"
+title = "Feather Wallet Documentation"
+
+uglyURLs = true
+enableRobotsTXT = true
+
+disableKinds = ["taxonomy", "term"]
+[taxonomies]
+
+[params]
+description = "A free and open source Monero desktop wallet."
+url = "https://docs.featherwallet.org"
+locale = "en_GB"
+twitterUsername = "featherwallet"
+
+[outputs]
+home = ["HTML", "Atom"]
+section = ["HTML"]
+page = ["HTML"]
+
+[mediaTypes."application/atom+xml"]
+suffixes = ["xml"]
+
+[outputFormats.Atom]
+mediaType = "application/atom+xml"
+baseName = "atom"
+isPlainText = false
+rel = "alternate"
+noAlternative = true
+
+[markup]
+[markup.goldmark.extensions]
+# kramdown does not auto-link bare URLs.
+linkify = false
+[markup.goldmark.renderer]
+unsafe = true
+xhtml = true
+[markup.goldmark.extensions.typographer]
+disable = false
+# kramdown (Jekyll) emits literal Unicode punctuation, not HTML entities.
+apostrophe = "’"
+leftSingleQuote = "‘"
+rightSingleQuote = "’"
+leftDoubleQuote = "“"
+rightDoubleQuote = "”"
+ellipsis = "…"
+enDash = "–"
+emDash = "—"
diff --git a/index.md b/index.md
deleted file mode 100644
index 84b007b..0000000
--- a/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: guides
----
-
-{% for category in site.data.guide_categories %}
-{% assign guides = site.guides | where: "category", category.slug %}
-
-## {{ category.name }}
-
-{% for guide in guides %}
-
-- [{{ guide.title }}]({{ guide.url }})
-{% endfor %}
-{% endfor %}
diff --git a/layouts/_default/_markup/render-codeblock.html b/layouts/_default/_markup/render-codeblock.html
new file mode 100644
index 0000000..cdba59a
--- /dev/null
+++ b/layouts/_default/_markup/render-codeblock.html
@@ -0,0 +1,11 @@
+{{- /* Reproduce kramdown + Rouge's wrapper markup for fenced code blocks.
+ Bare fences use "plaintext"; content is escaped like kramdown (& < >),
+ leaving quotes intact. The inner is tagged so the page template
+ can distinguish it from inline . */ -}}
+{{- $lang := cond (eq .Type "") "plaintext" .Type -}}
+{{- $code := .Inner | strings.TrimRight "\n" -}}
+{{- $code = replace $code "&" "&" -}}
+{{- $code = replace $code "<" "<" -}}
+{{- $code = replace $code ">" ">" -}}
+{{- printf `
+
+
+
+
diff --git a/layouts/partials/seo.html b/layouts/partials/seo.html
new file mode 100644
index 0000000..e365c50
--- /dev/null
+++ b/layouts/partials/seo.html
@@ -0,0 +1,57 @@
+{{- $p := .page -}}
+{{- $type := .type -}}
+{{- $siteTitle := site.Title -}}
+{{- $siteDesc := site.Params.description -}}
+{{- $locale := site.Params.locale -}}
+{{- $twitter := site.Params.twitterUsername -}}
+{{- $rel := $p.RelPermalink | strings.TrimSuffix "index.html" | strings.TrimSuffix ".html" -}}
+{{- $url := printf "%s%s" (site.BaseURL | strings.TrimSuffix "/") $rel -}}
+{{- if eq $type "website" -}}
+{{ printf "%s | %s" $siteTitle $siteDesc }}
+
+
+
+
+
+
+
+
+
+
+
+{{- else if eq $type "article" -}}
+{{- $date := now.Format "2006-01-02T15:04:05-07:00" -}}
+{{- $first := index (split (trim $p.RawContent "\n") "\n\n") 0 -}}
+{{- $desc := $first | $p.RenderString | plainify | htmlUnescape -}}
+{{- $desc = trim (replaceRE `\s+` " " $desc) " " -}}
+{{ printf "%s | %s" $p.Title $siteTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+{{- else -}}
+{{ printf "%s | %s" $p.Title $siteTitle }}
+
+
+
+
+
+
+
+
+
+
+
+{{- end -}}
diff --git a/layouts/robots.txt b/layouts/robots.txt
new file mode 100644
index 0000000..e59229a
--- /dev/null
+++ b/layouts/robots.txt
@@ -0,0 +1 @@
+Sitemap: {{ site.BaseURL }}sitemap.xml
diff --git a/layouts/sitemap.xml b/layouts/sitemap.xml
new file mode 100644
index 0000000..148ec9b
--- /dev/null
+++ b/layouts/sitemap.xml
@@ -0,0 +1,15 @@
+{{ `` | safeHTML }}
+
+{{- $base := site.BaseURL | strings.TrimSuffix "/" -}}
+{{- $date := now.Format "2006-01-02T15:04:05-07:00" -}}
+{{- $guides := sort (where site.RegularPages "Section" "guides") "File.BaseFileName" "asc" -}}
+{{- range $guides }}
+
+{{ $base }}/guides/{{ .File.BaseFileName }}
+{{ $date | safeHTML }}
+
+{{- end }}
+
+{{ $base }}/
+
+
diff --git a/scripts/compress_images.sh b/scripts/compress_images.sh
new file mode 100644
index 0000000..0abaa45
--- /dev/null
+++ b/scripts/compress_images.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+set -e
+
+cd static/files
+
+for FILE in *.png; do
+ if [[ "$FILE" == macos* ]]; then
+ continue
+ fi
+
+ if [[ "$FILE" == win* ]]; then
+ continue
+ fi
+
+ if [ -f "$FILE" ]; then
+ OUTPUT="compressed/${FILE}"
+ echo "Compressing ${FILE}"
+ convert "$FILE" -colorspace Gray -resize 75% -strip "${OUTPUT}"
+ pngquant --quality=10-15 --speed 1 "${OUTPUT}" -o "${OUTPUT}" -f
+ fi
+done
+
diff --git a/scripts/linter.py b/scripts/linter.py
index f26e3c5..40aad19 100644
--- a/scripts/linter.py
+++ b/scripts/linter.py
@@ -2,11 +2,11 @@
import re
from urllib.parse import urlparse
-os.chdir("content/_guides")
+os.chdir("content/guides")
links = r"\[(.+?)\]\((.+?)\)"
-files = os.listdir(".")
+files = [f for f in os.listdir(".") if not f.startswith("_")]
valid_links = [link.removesuffix(".md").replace("_", "-") for link in files]
has_invalid = False
diff --git a/CNAME b/static/CNAME
similarity index 100%
rename from CNAME
rename to static/CNAME
diff --git a/favicon.ico b/static/favicon.ico
similarity index 100%
rename from favicon.ico
rename to static/favicon.ico
diff --git a/static/files/airgap_transmit.png b/static/files/airgap_transmit.png
deleted file mode 100644
index 8b89214..0000000
Binary files a/static/files/airgap_transmit.png and /dev/null differ
diff --git a/static/fonts/LICENSE-comforta.txt b/static/fonts/LICENSE-comforta.txt
deleted file mode 100644
index 33f3666..0000000
--- a/static/fonts/LICENSE-comforta.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-Copyright (c) , (),
-with Reserved Font Name .
-Copyright (c) , (),
-with Reserved Font Name .
-Copyright (c) , ().
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-http://scripts.sil.org/OFL
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/static/fonts/comfortaa-v30-subset-regular.ttf b/static/fonts/comfortaa-v30-subset-regular.ttf
deleted file mode 100644
index 9ea048f..0000000
Binary files a/static/fonts/comfortaa-v30-subset-regular.ttf and /dev/null differ
diff --git a/static/fonts/comfortaa-v30-subset-regular.woff b/static/fonts/comfortaa-v30-subset-regular.woff
deleted file mode 100644
index 58cbb3e..0000000
Binary files a/static/fonts/comfortaa-v30-subset-regular.woff and /dev/null differ
diff --git a/static/fonts/comfortaa-v30-subset-regular.woff2 b/static/fonts/comfortaa-v30-subset-regular.woff2
deleted file mode 100644
index b874c47..0000000
Binary files a/static/fonts/comfortaa-v30-subset-regular.woff2 and /dev/null differ
diff --git a/static/css/additional-styles.css b/static/static/css/additional-styles.css
similarity index 100%
rename from static/css/additional-styles.css
rename to static/static/css/additional-styles.css
diff --git a/static/files/airgap_address.png b/static/static/files/airgap_address.png
similarity index 100%
rename from static/files/airgap_address.png
rename to static/static/files/airgap_address.png
diff --git a/static/files/airgap_menu.png b/static/static/files/airgap_menu.png
similarity index 100%
rename from static/files/airgap_menu.png
rename to static/static/files/airgap_menu.png
diff --git a/static/files/airgap_mode.png b/static/static/files/airgap_mode.png
similarity index 100%
rename from static/files/airgap_mode.png
rename to static/static/files/airgap_mode.png
diff --git a/static/files/airgap_mode_sign.png b/static/static/files/airgap_mode_sign.png
similarity index 100%
rename from static/files/airgap_mode_sign.png
rename to static/static/files/airgap_mode_sign.png
diff --git a/static/files/airgap_mode_viewonly.png b/static/static/files/airgap_mode_viewonly.png
similarity index 100%
rename from static/files/airgap_mode_viewonly.png
rename to static/static/files/airgap_mode_viewonly.png
diff --git a/static/files/airgap_offline_mode.png b/static/static/files/airgap_offline_mode.png
similarity index 100%
rename from static/files/airgap_offline_mode.png
rename to static/static/files/airgap_offline_mode.png
diff --git a/static/files/airgap_restore.png b/static/static/files/airgap_restore.png
similarity index 100%
rename from static/files/airgap_restore.png
rename to static/static/files/airgap_restore.png
diff --git a/static/files/airgap_scan.png b/static/static/files/airgap_scan.png
similarity index 100%
rename from static/files/airgap_scan.png
rename to static/static/files/airgap_scan.png
diff --git a/static/files/airgap_sign.png b/static/static/files/airgap_sign.png
similarity index 100%
rename from static/files/airgap_sign.png
rename to static/static/files/airgap_sign.png
diff --git a/static/static/files/airgap_transmit.png b/static/static/files/airgap_transmit.png
new file mode 100644
index 0000000..4439015
Binary files /dev/null and b/static/static/files/airgap_transmit.png differ
diff --git a/static/static/files/compressed/airgap_address.png b/static/static/files/compressed/airgap_address.png
new file mode 100644
index 0000000..8624249
Binary files /dev/null and b/static/static/files/compressed/airgap_address.png differ
diff --git a/static/static/files/compressed/airgap_menu.png b/static/static/files/compressed/airgap_menu.png
new file mode 100644
index 0000000..8a76ad1
Binary files /dev/null and b/static/static/files/compressed/airgap_menu.png differ
diff --git a/static/static/files/compressed/airgap_mode.png b/static/static/files/compressed/airgap_mode.png
new file mode 100644
index 0000000..1299d70
Binary files /dev/null and b/static/static/files/compressed/airgap_mode.png differ
diff --git a/static/static/files/compressed/airgap_mode_sign.png b/static/static/files/compressed/airgap_mode_sign.png
new file mode 100644
index 0000000..8817152
Binary files /dev/null and b/static/static/files/compressed/airgap_mode_sign.png differ
diff --git a/static/static/files/compressed/airgap_mode_viewonly.png b/static/static/files/compressed/airgap_mode_viewonly.png
new file mode 100644
index 0000000..fa99664
Binary files /dev/null and b/static/static/files/compressed/airgap_mode_viewonly.png differ
diff --git a/static/static/files/compressed/airgap_offline_mode.png b/static/static/files/compressed/airgap_offline_mode.png
new file mode 100644
index 0000000..ca721df
Binary files /dev/null and b/static/static/files/compressed/airgap_offline_mode.png differ
diff --git a/static/static/files/compressed/airgap_restore.png b/static/static/files/compressed/airgap_restore.png
new file mode 100644
index 0000000..ea0a500
Binary files /dev/null and b/static/static/files/compressed/airgap_restore.png differ
diff --git a/static/static/files/compressed/airgap_scan.png b/static/static/files/compressed/airgap_scan.png
new file mode 100644
index 0000000..1cef199
Binary files /dev/null and b/static/static/files/compressed/airgap_scan.png differ
diff --git a/static/static/files/compressed/airgap_sign.png b/static/static/files/compressed/airgap_sign.png
new file mode 100644
index 0000000..62e78e8
Binary files /dev/null and b/static/static/files/compressed/airgap_sign.png differ
diff --git a/static/static/files/compressed/airgap_transmit.png b/static/static/files/compressed/airgap_transmit.png
new file mode 100644
index 0000000..907be60
Binary files /dev/null and b/static/static/files/compressed/airgap_transmit.png differ
diff --git a/static/static/files/feather.png b/static/static/files/feather.png
new file mode 100644
index 0000000..3d9355a
Binary files /dev/null and b/static/static/files/feather.png differ
diff --git a/static/files/macos-app-bundle.png b/static/static/files/macos-app-bundle.png
similarity index 100%
rename from static/files/macos-app-bundle.png
rename to static/static/files/macos-app-bundle.png
diff --git a/static/files/macos-gpg-import-success.png b/static/static/files/macos-gpg-import-success.png
similarity index 100%
rename from static/files/macos-gpg-import-success.png
rename to static/static/files/macos-gpg-import-success.png
diff --git a/static/files/macos-gpg-new-keypair.png b/static/static/files/macos-gpg-new-keypair.png
similarity index 100%
rename from static/files/macos-gpg-new-keypair.png
rename to static/static/files/macos-gpg-new-keypair.png
diff --git a/static/files/macos-gpg-select-signing-key.png b/static/static/files/macos-gpg-select-signing-key.png
similarity index 100%
rename from static/files/macos-gpg-select-signing-key.png
rename to static/static/files/macos-gpg-select-signing-key.png
diff --git a/static/files/macos-gpg-sign-release-key-success.png b/static/static/files/macos-gpg-sign-release-key-success.png
similarity index 100%
rename from static/files/macos-gpg-sign-release-key-success.png
rename to static/static/files/macos-gpg-sign-release-key-success.png
diff --git a/static/files/macos-gpg-sign-release-key.png b/static/static/files/macos-gpg-sign-release-key.png
similarity index 100%
rename from static/files/macos-gpg-sign-release-key.png
rename to static/static/files/macos-gpg-sign-release-key.png
diff --git a/static/files/macos-gpg-tools-dmg.png b/static/static/files/macos-gpg-tools-dmg.png
similarity index 100%
rename from static/files/macos-gpg-tools-dmg.png
rename to static/static/files/macos-gpg-tools-dmg.png
diff --git a/static/files/macos-gpg-tools-installer.png b/static/static/files/macos-gpg-tools-installer.png
similarity index 100%
rename from static/files/macos-gpg-tools-installer.png
rename to static/static/files/macos-gpg-tools-installer.png
diff --git a/static/files/macos-gpg-tools-keychain.png b/static/static/files/macos-gpg-tools-keychain.png
similarity index 100%
rename from static/files/macos-gpg-tools-keychain.png
rename to static/static/files/macos-gpg-tools-keychain.png
diff --git a/static/files/macos-gpg-trused-signature.png b/static/static/files/macos-gpg-trused-signature.png
similarity index 100%
rename from static/files/macos-gpg-trused-signature.png
rename to static/static/files/macos-gpg-trused-signature.png
diff --git a/static/files/macos-gpg-verify-release.png b/static/static/files/macos-gpg-verify-release.png
similarity index 100%
rename from static/files/macos-gpg-verify-release.png
rename to static/static/files/macos-gpg-verify-release.png
diff --git a/static/files/macos-zip-extract.png b/static/static/files/macos-zip-extract.png
similarity index 100%
rename from static/files/macos-zip-extract.png
rename to static/static/files/macos-zip-extract.png
diff --git a/static/files/macos_install.png b/static/static/files/macos_install.png
similarity index 100%
rename from static/files/macos_install.png
rename to static/static/files/macos_install.png
diff --git a/static/files/macos_open_app.png b/static/static/files/macos_open_app.png
similarity index 100%
rename from static/files/macos_open_app.png
rename to static/static/files/macos_open_app.png
diff --git a/static/files/macos_open_dmg.png b/static/static/files/macos_open_dmg.png
similarity index 100%
rename from static/files/macos_open_dmg.png
rename to static/static/files/macos_open_dmg.png
diff --git a/static/files/qr_paste.mp4 b/static/static/files/qr_paste.mp4
similarity index 100%
rename from static/files/qr_paste.mp4
rename to static/static/files/qr_paste.mp4
diff --git a/static/files/win-gpg-cert-created.png b/static/static/files/win-gpg-cert-created.png
similarity index 100%
rename from static/files/win-gpg-cert-created.png
rename to static/static/files/win-gpg-cert-created.png
diff --git a/static/files/win-gpg-certified.png b/static/static/files/win-gpg-certified.png
similarity index 100%
rename from static/files/win-gpg-certified.png
rename to static/static/files/win-gpg-certified.png
diff --git a/static/files/win-gpg-certify.png b/static/static/files/win-gpg-certify.png
similarity index 100%
rename from static/files/win-gpg-certify.png
rename to static/static/files/win-gpg-certify.png
diff --git a/static/files/win-gpg-create-cert-info.png b/static/static/files/win-gpg-create-cert-info.png
similarity index 100%
rename from static/files/win-gpg-create-cert-info.png
rename to static/static/files/win-gpg-create-cert-info.png
diff --git a/static/files/win-gpg-create-openpgp-cert.png b/static/static/files/win-gpg-create-openpgp-cert.png
similarity index 100%
rename from static/files/win-gpg-create-openpgp-cert.png
rename to static/static/files/win-gpg-create-openpgp-cert.png
diff --git a/static/files/win-gpg-import-release-key.png b/static/static/files/win-gpg-import-release-key.png
similarity index 100%
rename from static/files/win-gpg-import-release-key.png
rename to static/static/files/win-gpg-import-release-key.png
diff --git a/static/files/win-gpg-kleopatra.png b/static/static/files/win-gpg-kleopatra.png
similarity index 100%
rename from static/files/win-gpg-kleopatra.png
rename to static/static/files/win-gpg-kleopatra.png
diff --git a/static/files/win-gpg-verification-success.png b/static/static/files/win-gpg-verification-success.png
similarity index 100%
rename from static/files/win-gpg-verification-success.png
rename to static/static/files/win-gpg-verification-success.png
diff --git a/static/files/win-gpg-verify-fingerprint.png b/static/static/files/win-gpg-verify-fingerprint.png
similarity index 100%
rename from static/files/win-gpg-verify-fingerprint.png
rename to static/static/files/win-gpg-verify-fingerprint.png
diff --git a/static/fonts/LICENSE-ubuntu.txt b/static/static/fonts/LICENSE-ubuntu.txt
similarity index 100%
rename from static/fonts/LICENSE-ubuntu.txt
rename to static/static/fonts/LICENSE-ubuntu.txt
diff --git a/static/fonts/ubuntu-mono-v10-latin-regular.ttf b/static/static/fonts/ubuntu-mono-v10-latin-regular.ttf
similarity index 100%
rename from static/fonts/ubuntu-mono-v10-latin-regular.ttf
rename to static/static/fonts/ubuntu-mono-v10-latin-regular.ttf
diff --git a/static/fonts/ubuntu-mono-v10-latin-regular.woff b/static/static/fonts/ubuntu-mono-v10-latin-regular.woff
similarity index 100%
rename from static/fonts/ubuntu-mono-v10-latin-regular.woff
rename to static/static/fonts/ubuntu-mono-v10-latin-regular.woff
diff --git a/static/fonts/ubuntu-mono-v10-latin-regular.woff2 b/static/static/fonts/ubuntu-mono-v10-latin-regular.woff2
similarity index 100%
rename from static/fonts/ubuntu-mono-v10-latin-regular.woff2
rename to static/static/fonts/ubuntu-mono-v10-latin-regular.woff2
diff --git a/static/fonts/ubuntu-v15-latin-500.ttf b/static/static/fonts/ubuntu-v15-latin-500.ttf
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-500.ttf
rename to static/static/fonts/ubuntu-v15-latin-500.ttf
diff --git a/static/fonts/ubuntu-v15-latin-500.woff b/static/static/fonts/ubuntu-v15-latin-500.woff
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-500.woff
rename to static/static/fonts/ubuntu-v15-latin-500.woff
diff --git a/static/fonts/ubuntu-v15-latin-500.woff2 b/static/static/fonts/ubuntu-v15-latin-500.woff2
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-500.woff2
rename to static/static/fonts/ubuntu-v15-latin-500.woff2
diff --git a/static/fonts/ubuntu-v15-latin-italic.ttf b/static/static/fonts/ubuntu-v15-latin-italic.ttf
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-italic.ttf
rename to static/static/fonts/ubuntu-v15-latin-italic.ttf
diff --git a/static/fonts/ubuntu-v15-latin-italic.woff b/static/static/fonts/ubuntu-v15-latin-italic.woff
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-italic.woff
rename to static/static/fonts/ubuntu-v15-latin-italic.woff
diff --git a/static/fonts/ubuntu-v15-latin-italic.woff2 b/static/static/fonts/ubuntu-v15-latin-italic.woff2
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-italic.woff2
rename to static/static/fonts/ubuntu-v15-latin-italic.woff2
diff --git a/static/fonts/ubuntu-v15-latin-regular.ttf b/static/static/fonts/ubuntu-v15-latin-regular.ttf
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-regular.ttf
rename to static/static/fonts/ubuntu-v15-latin-regular.ttf
diff --git a/static/fonts/ubuntu-v15-latin-regular.woff b/static/static/fonts/ubuntu-v15-latin-regular.woff
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-regular.woff
rename to static/static/fonts/ubuntu-v15-latin-regular.woff
diff --git a/static/fonts/ubuntu-v15-latin-regular.woff2 b/static/static/fonts/ubuntu-v15-latin-regular.woff2
similarity index 100%
rename from static/fonts/ubuntu-v15-latin-regular.woff2
rename to static/static/fonts/ubuntu-v15-latin-regular.woff2
diff --git a/static/fonts/ubuntu-v15-subset-500.ttf b/static/static/fonts/ubuntu-v15-subset-500.ttf
similarity index 100%
rename from static/fonts/ubuntu-v15-subset-500.ttf
rename to static/static/fonts/ubuntu-v15-subset-500.ttf
diff --git a/static/fonts/ubuntu-v15-subset-500.woff b/static/static/fonts/ubuntu-v15-subset-500.woff
similarity index 100%
rename from static/fonts/ubuntu-v15-subset-500.woff
rename to static/static/fonts/ubuntu-v15-subset-500.woff
diff --git a/static/fonts/ubuntu-v15-subset-500.woff2 b/static/static/fonts/ubuntu-v15-subset-500.woff2
similarity index 100%
rename from static/fonts/ubuntu-v15-subset-500.woff2
rename to static/static/fonts/ubuntu-v15-subset-500.woff2