JavaScript is required

About

Feather Wiki logo

Feather Wiki is an app for creating personal non-linear notebooks, databases, and wikis that is entirely self-contained and runs in your browser. The app and all of the content you create using it are stored within the single HTML file generated when you save your wiki. Publishing your content for the world to see is as simple as uploading that file to a web server, and updating is as simple as overwriting the file.

It was created by Robbie Antenesse to be just like TiddlyWiki, but with the smallest file size possible and a style more reminiscent of certain other popular wikis. Since it aims to be as small as possible, Feather Wiki doesn't include all the features you might possibly want, but it is [[infinitely extensible|extensions]], providing low-level access to its underlying code framework. If there's something it can't do out of the box, then you can make it do that thing yourself.

So if you want something tiny, blazing fast, and still fully functional, then Feather Wiki will be your instant-loading dream app!

Download

Feather Wiki has several builds for different use cases.

If you don't want to think, you can grab the largest (about 63.5 kilobytes) but most flexible build right here:

Or you can view [[All Downloads|downloads]] to get a smaller build that only includes one content editor.

Hosted

Tiddlyhost is a free hosting platform that offers the ability to save your Feather Wiki directly instead of needing to download a copy!

To use Feather Wiki in Tiddlyhost, create your account, click "Create Site," fill in the details, and click "Show advanced settings" to select Feather Wiki under "TiddlyWiki Version."

All About Feather Wiki

  • [[Features]]
  • [[Learn]]
    • [[Creating a New Wiki]]
    • [[Wiki Settings]]
    • [[Navigating]]
    • [[Create A Page]]
    • [[Editing Pages]]
    • [[Upgrading]]
  • [[FAQs & Tips|faqs]]
  • [[Extensions]]

Get Involved

We welcome anyone who is interested in Feather Wiki to get involved and make their voices heard to help make a better app for everyone! Use the links below to get started:

(We're trying to run a lean setup, so we're getting creative with our community by doing everything with Issues on our code repository at Codeberg.org.)


Feather Wiki is open source software licensed under the GNU AGPL-3.0-or-later license. Read Feather Wiki's specific license clarification to learn that content you create is your own.


Ref: 1652303576350

Downloads

As of version 1.2.0, Feather Wiki has a few different builds with different functionality depending on what you're looking for, each with its own cute bird name to indicate its file size. And as of version 1.3.0, 3 of those builds have been retired to make room for different versions that will be published in June 2022!

All builds of Feather Wiki 1.3.0 and up are built to run on browsers that support ECMAScript 2015 (also known as "ES6"). The differences between each build comes in the form of your choice of content editor. This page will explain all of the differences between each version.

Before we begin, it is worth noting that all content you create in any version can be transferred to any other version using the [[Import & Overwrite button|upgrading]] in the Wiki Settings!

Dove

Ring-necked dove (Streptopelia capicola damarensis)
Charles J. Sharp, CC BY-SA 4.0, via Wikimedia Commons

Dove is the "standard" version of Feather Wiki coming in at about 63.5 kilobytes and containing both the what-you-see-is-what-you-get (WYSIWYG) page editor and a Markdown editor with a toggle switch.

Finch

Common Bullfinch (Pyrrhula pyrrhula)
© Francis C. Franklin, CC BY-SA 3.0, via Wikimedia Commons

Finch is smaller than Dove because it only includes the WYSIWYG page editor and not the Markdown one.

Chickadee

Black-capped Chickadee (Poecile atricapillus)
No machine-readable author provided. Mdf assumed (based on copyright claims)., CC BY-SA 3.0, via Wikimedia Commons

Chickadee is tiny because it only includes the Markdown editor.

Server Builds

Coming mid June 2022!

Legacy Builds

The following builds were introduced in version 1.2.0, but it didn't make a lot of sense to keep them around for version 1.3.0 because the size difference wasn't really that remarkable, and the fact that only the newest possible browsers could run them made them a bit less useful.

But the builds will remain here in their unchanged and flawed 1.2.1 versions for nostalgia's sake.

Robin

Robin is like Dove, but a little bit smaller and a little bit less friendly. It has both the WYSIWYG page editor and the Markdown editor, but it only runs on new browsers that support JavaScript features as new as ECMAScript 2020. This is the best choice if you want to switch between editors and plan to use Feather Wiki on newer browsers for wikis you don't plan to share.

American robin (Turdus migratorius)
en:User:Mdf, CC BY-SA 3.0, via Wikimedia Commons

Sparrow

Sparrow is smaller than Finch with the same editor, but it's less friendly. As with Robin, only browsers that support JavaScript features as new as ECMAScript 2020 will be able to run Sparrow, but if you only want the WYSIWYG editor and don't plan to share your wiki, then this is your option!

House sparrow (Passer domesticus)
Adamo, CC BY 2.0 DE, via Wikimedia Commons

Hummingbird

Hummingbird is the smallest it gets at just 57 kilobytes! Hummingbird only includes the Markdown editor, and as with Robin and Sparrow, it will only run on browsers that support the ECMAScript 2020 features linked above. If you're using a modern browser, don't need to share your wiki, and like writing with Markdown, then this is your best option!

Anna's hummingbird (Calypte anna)
Robert McMorran, United States Fish and Wildlife Service, Public domain, via Wikimedia Commons

Ref: 1653015505571

Features

With Feather Wiki, you can:

  • Create unlimited inter-connected pages with the ability to nest pages for better organization
  • Create unlimited tags for pages to help categorize and group related pages
  • Link images from other websites or insert your own into the wiki file itself
  • Set custom CSS to change the look of your wiki
  • Keep track of recently-viewed pages in the menu
  • Edit your wiki anywhere you have a browser
  • [[Extend|extensions]] your wiki by modifying its core
  • [[Publish|publishing]] your wiki to make it look more final and professional
  • [[Upgrade|upgrading]] your existing Feather Wiki file to the newest version by simply importing it into the newest version.

Here are a list of noteworthy facts about Feather Wiki.

  • The largest version of Feather Wiki is only 63 kilobytes in size when there's no content inside, which makes it insanely fast to load
    • This means your content will be the majority of the file size by the time you've entered your data!
  • Feather Wiki is a quine, which means that when you save your wiki, it creates a copy of itself plus your data injected into the resulting HTML file
  • The whole Feather Wiki app and your wiki data is all contained in the HTML file you get when you click the "Save Wiki" button—all you need is a web browser to use it
  • The names of the [[different versions|downloads]] are inspired by the size of the bird it's named after in relation to the other versions
    • Dove is the largest file size and is the largest bird in the collection, and Hummingbird is the smallest

Ref: 1652304914294

Feather Wiki Tools

I'm trying to keep Feather Wiki as small as possible, which means that I need to limit what I include within the application itself. But that doesn't mean I can't write additional tools to help with managing your wikis!

There are no tools written just yet because Feather Wiki is so new, but check back in the future for when they're ready, and please feel free to submit tool ideas to the Codeberg repository as an Issue with the "request" label!

Planned Tools

  • Content Export Tool (Extract your wiki content into various formats)
  • Printer Format Tool (Put your Feather Wiki into a format that looks nice printed)
  • Static Site Generator (Export your Feather Wiki to pure HTML)
  • Wiki Data Analyzer (Visualize various elements of your wiki's content)
  • Feather Wiki Nest (Host your Feather Wiki on your own web server and save changes directly to the server)


Ref: 1652501696949

Learn

Feather Wiki is intentionally simple, but the following guides will help get you started and clarify various features:


Ref: 1652328938922

Wiki Settings

The Wiki Settings page, accessed via the link in the menu, allows you to:

  1. Set your wiki's title and description,
  2. Set your wiki's home page,
  3. Set the order your pages appear around your wiki,
  4. Set custom CSS to change the look of your wiki,
  5. Add custom JavaScript to infinitely extend your wiki,
  6. Mark your wiki as "published" to hide edit buttons,
  7. Import an existing Feather Wiki file to overwrite your current session, and
  8. View and manage images you have inserted into your Feather Wiki.
Please note: Even after you update your wiki's settings, you must click the "Save Wiki" button to make your changes permanent!

1. Title & Description

Your Wiki Title and Wiki Description appear on the top left side of your wiki. A title is required for your wiki, and clicking it will take you to your wiki's home page. A description is optional, and if the Wiki Description field is left blank, it will simply not display.

2. Home Page

Once you [[Create a Page]] in your wiki, you can choose that page to be the first thing that loads when visiting your wiki. By default, the home page will display all of your wiki's pages with parent and child pages nested appropriately, but you can specify any page of your wiki to be the home page, even if it is a child of another page.

3. Page Order

If your pages aren't sorting correctly in the menu, the All Pages list, or in a parent page's "Sub Pages" section, you can use this to manually set the order your pages appear. When the Wiki Settings page loads, it will display the current sort order of your pages. Placing one slug per line, you can re-organize this list however you'd like.

When you're done organizing your pages, be sure to click the Update button to see your page order updated, and make sure you save your wiki to make your reordering permanent! Also note that if you delete or misspell a slug in the page order list, then those pages will be moved to the top of the list when you update your settings (this can also be a helpful way to find slugs you mistakenly deleted while editing).

4. Custom CSS

If you're savvy with your browser's inspector, want to change how your wiki looks, the Custom CSS field lets you enter any CSS you want! There's not a lot more to say here, just make sure that your CSS is valid and that you don't put any HTML in this field or else you'll mess things up for yourself. Also be aware that your custom CSS will not be minified and may make your resulting wiki slightly larger as a result.

5. Custom JavaScript

As of version 1.3.0, Feather Wiki offers the ability to extend your wiki nearly infinitely. Any JavaScript code you write in this "Custom JS" field will be added to a <script> tag specifically for making your wiki function exactly how you want it to. More information on extending your wiki will be available on the [[Extensions]] page in mid-June 2022.

6. Publishing

Checking the "Publish" box will hide all of the buttons that enable modifying your wiki. This includes the "Wiki Settings" link, the "New Page" button, the "Edit" buttons on wiki pages, and the "Save Wiki" button. When this box is checked and you click the "Update" button, the specified buttons will only be visible on the Wiki Settings page, which can still be visited manually by adding ?page=s after the .html part of your URL. (Clicking that link will take you to the Wiki Settings page for this wiki!)

View [[Publishing]] for some tips on how to make your Feather Wiki public.

7. Import & Overwrite (Upgrading)

This button is intended to be used to upgrade a Feather Wiki that was created using an older version to a new version. It accomplishes this by loading an old Feather Wiki's HTML file, grabbing the data, and overwriting the current session with that old data. Once loaded, you can click the "Save Wiki" button to save your old data in the new version of Feather Wiki!

Be aware that this is instantaneous once loaded, but it will only overwrite your existing data if you specifically choose to save the download in a way that overwrites the old file.

8. Manage Inserted Images

If you choose the option to insert an image from a file (the 📸 icon in the [[page editor|editing_pages]]), Feather Wiki will store that image as data in your HTML file in a way that makes it re-usable. You can view the images you have added this way from the "Existing Images" section of the Wiki Settings page. This section allows you to view image, its alt text, and its dimensions and gives you buttons to view the full-size image, edit the alt text, delete the image, or see what pages the image is used in.

If you choose to delete the image, it will also remove the image from all pages it is used in, if any, so please be cautious with this action. Note, however, that your image will not truly be lost unless you choose to overwrite the original Feather Wiki HTML file with the newly saved version.


Ref: 1652329783839

Navigating

Feather Wiki is fairly simple, but this page will summarize all the different ways of getting around.

  • Clicking the title of your wiki (in the top left corner of the screen) will take you to your [[home page|wiki_settings]].
  • Clicking the [[Wiki Settings]] button will take you to the Wiki Settings page.
  • Clicking the "New Page" button will show a field to enter the title of a new page for Feather Wiki to [[create|create_a_page]].
  • The "Pages" tab button (selected by default on load) will list all of the pages that do not have parents set.
  • The "All Pages" link under the Pages tab will take you to a page that lists all of your pages with a visual indication of how your pages are nested.
  • The "Tags" tab button (only visible if at least one page has at least one tag) will list all of the tags used by any page in the wiki.
  • Clicking a tag from the Tags tab will display a list of all of the pages that have that tag.
  • The "Recent" tab button keeps track of the pages you have visited this session in the order of most to least recent.
  • Visiting a page slug that doesn't exist will display a page edit interface that allows you to create the nonexistent slug as a new page.
  • Clicking the "Edit" button from a page will show that page's edit screen where you can [[modify that page|editing_pages]].

Ref: 1652388778608

Creating a New Wiki

Creating a new Feather Wiki is as simple as opening the freely-available [[blank Feather Wiki file|downloads]] and clicking the "Save Wiki" button in the menu. Click the "[[Wiki Settings]]" link in the menu to edit your Feather Wiki's title and description if you want; if you edit the wiki first, then the file you download will contain the data you entered before clicking the button, otherwise you can simply download a copy of the blank Feather Wiki.

Your web browser should prompt you to save an HTML file, which you can save wherever you want on your computer. Each time you click the "Save Wiki" button, your browser will prompt you to download a new HTML file. You can either save over the first file you downloaded, or you can save it as a new file if you want to keep a history of your changes (see [[Handling Downloads|upgrading]] for possible issues you might run into with different browsers). If you are planning to publish your wiki to a web host and are saving multiple versions of your wiki, just be sure to keep track of which file is the newest so you upload the most recent version!


Ref: 1652329046518

Create A Page

Creating a page is as simple as clicking the "New Page" button in the menu, setting a title in the text box that appears, and clicking "Create!" Once you create a page, it will be visible in the All Pages list and the menu as a quick link item. You can remove a page from the menu by setting its Parent field to another page. You can also Edit an existing page by visiting that page and clicking the "Edit" button next to the modified date.

Creating and editing pages both have the same options:

  1. Title & Slug
  2. Page Content
  3. Tags
  4. Nesting
  5. Saving & Deleting

Title & Slug

While a title is fairly self-explanatory, the Page Slug is the identifier that is used to display the page. Feather Wiki will generate a Page Slug by lower-casing your page's title and replacing all spaces with underscores (_) and non-letter characters with dashes (-). If you change your Page Slug to something else, this same replacement process will happen when you save your page, or you can optionally click the "Slugify Title" button to create a slug from the title.

Slugs must be unique across your whole Feather Wiki, and they must be at least 2 characters long (single-character slugs are reserved for Feather Wiki's internal pages).

Page Content

The large box below the title and slug is a text editor where you can enter the content for your page. Depending on [[what version|downloads]] of Feather Wiki you are using, you will see one of 3 different options: the HTML Rich Text editor, the Markdown editor, or one of those two editors with a button to toggle between the two editors.

Both editors have the ability to use Wiki Links by putting the title of a page between 2 brackets [‍‍[like this]‍‍] or using a page slug [‍‍[like this|page_slug]‍‍] to link arbitrary text. See [[Editing Pages]] for more details about each editor and adding links.

Tags

You can add arbitrary tags to any page in order to help categorize or otherwise identify them. The "Page Tags" field requires a comma, separated, list of text that will be identified as tags. When you add tags to any page, those tags will appear as a tab in the menu. From the "Tags" tab in the menu, you can view all pages that are tagged with any of the tags specified in the list. Removing a tag from the page and saving the page will remove the page from that tag list. If there are no pages that are using a tag, then the tag will be removed from the Tags list, and if none of your pages have any tags, then the Tags tab will not display in the menu.

Be aware that tags width Different, capitaliZations are identified as separate tags. You can use the "Add Existing Tag" drop-down box to choose a tag that you have already added to another page to make sure you get the spelling and capitalization correct.

Nesting

Feather Wiki includes the ability to nest pages below other pages to help with organization. The "Parent" drop-down box shows all pages currently on the wiki aside from the current page with the page's title and slug. If your page's Parent field is set to "None," then it will display in the Pages list in the menu. Choosing a page to be the current page's parent will not only remove it from the menu's Pages list and show a breadcrumb link above the page title, but it will cause it to display as a nested item underneath that parent page in the All Pages list as well as in a "Sub Pages" list on the parent page itself. Check the [[Learn]] page on this wiki for an example of how this looks!

Saving & Deleting

If you've used computer programs before, this should be fairly unsurprising: when you're done editing your page, clicking the "Save" button will finalize your changes and display the result.

The small, red "Delete" button below the "Save" button on the edit screen of a page will ask for confirmation before removing the page from your wiki. If the page you delete is the parent of another page, then any child page will have its "Parent" value set back to "None" to avoid issues with nonexistent pages.

After saving changes or deleting a page, the "Save Wiki" button should be highlighted in red and the message "Wiki has changed!" should display above it to remind you to save your wiki to make your changes permanent.


Ref: 1652374565701

Editing Pages

Feather Wiki has 2 different ways to edit the content of your pages: the HTML Rich Text editor (also called What-You-See-Is-What-You-Get or WYSIWYG) and the Markdown editor. Depending on your personal preferences, you can get a version of Feather Wiki that includes one or the other or a version that contains both with a way to switch between them. See the [[Downloads]] page for all of your options.

This page will cover how to do things with each editor.

HTML Rich Text Editor

Along the top is a toolbar with various common formatting options—hovering over each will display what they do. By default, content you type is surrounded by the HTML <p> tag, and each time you press Enter or Return on your keyboard it starts a new paragraph with that content starting a new <p> block. If you know what you're doing, you can click the "Show HTML" button below the editor to display and edit the HTML of the content you have entered in the editor and toggle it back to the editor when you are done!

There are 2 different types of links as far as Feather Wiki is concerned: internal and external links.

As the name implies, External links go to web pages outside of your Feather Wiki. You can insert external links into your page content using the 🔗 icon in the toolbar. This will either insert the link you specify in full where the editor's cursor is displayed, or it will make any highlighted text a clickable link to the URL you specified. External links are identified with a icon and will open in a new tab.

Internal links are links that go to other pages within your Feather Wiki. You can create an internal link by wrapping page title in two brackets [‍‍[like this]‍‍]. The text inside the brackets will be "slugified" as mentioned above and generate a link to that page. You can also manually specify a slug to link to with different text linking to it by putting the slug after a vertical bar [‍‍[like this|page_slug]‍‍].

If you create an internal link to a page that does not yet exist, it will be indicated as nonexistent by being colored red with a little exclamation point [[like this]]. But if you visit a nonexistent page, Feather Wiki will give you the opportunity to create that page, which can be useful for preparing pages you want to write later.

Adding Images

Just like with links, Feather Wiki separates images into two types: internal and external.

External images are stored elsewhere on the internet and are referenced by their URLs in your Feather Wiki. You can insert external images using the 🖼️ icon in the toolbar. When you specify an external image's URL, it will insert it into the editor where your cursor is, usually as a new paragraph. Using external images can help keep the file size of your Feather Wiki small, but it will require an internet connection to view the image when you load your Feather Wiki.

Internal images are files you upload from your computer that get stored directly inside of your Feather Wiki's HTML file. You can insert internal images using the 📸 icon in the toolbar. After warning that inserting a file will increase your wiki's file size, you can choose any image to insert, set the max width and height to scale the image to, and specify alt text for that image. Your image will be scaled down to the width and height in pixels that you specify, depending on whether the image is portrait or landscape. If your image is smaller than the dimensions you specify, it will not be scaled. If you upload an image and set the same dimensions, then it will not add it to the wiki again, but if you specify _different_ max dimensions, then the image of that size _will_ be added as a separate image to the wiki.

If you have already added internal images to your Feather Wiki, you can use the 📎 icon in the toolbar to insert one of those existing images into your page. Click the "View" button to view the full size image in a new tab or the "Insert" button to insert it into your page. Feather Wiki handles internal images in a way that saves file size, so if you add multiples of the same image, your Feather Wiki will only grow in file size by the size of the single image you inserted instead of duplicating the image data stored inside your HTML file.

Markdown Editor

If you don't already know, Markdown is a way to write text with a markup that's not only easy to write and that easily renders to HTML, but that can also be read without rendering it to HTML while still being able to understand how the text should be formatted. The Markdown editor in Feather Wiki is a simple text area with just 2 buttons below it: "Insert Image from File" and "Add Existing Image." These two buttons behave exactly the same as the 📸 and 📎 icons outlined above.

Other than that, the Markdown interpreter that Feather Wiki uses (Snarkdown, if you're interested) behaves as you might expect with only a couple of quirks. I've done my best to hammer out the most obvious quirk (by default, two line breaks in Snarkdown results in a <br> tag in HTML instead of a <p> tag—Feather Wiki fixes that behavior), but there may be others that I'm not aware of.

Links & Images

Internal links are handled the same as mentioned above, i.e. [‍‍[like this]‍‍] or [‍‍[like this|page_slug]‍‍], but external links are handled as normal Markdown links, i.e. [link text](http://the.url/to/visit).

Images are also handled the same way, but the alt text is not inserted into the Markdown text by default and the image is represented by a shortened hash of your image's data that looks like ![](img:186914097:img). When you save your page, however, the image's alt text will be automatically rendered when the image is displayed. Leave the alt text area in the Markdown text empty when using internal images or else it may cause rendering issues.

Toggling to HTML

If you are using a version of Feather Wiki that includes both the HTML Rich Text and Markdown editor, you will see a button to toggle between the editors. But you must be aware that if you toggle from Markdown to the Editor, Feather Wiki will render your Markdown to HTML, but toggling back to Markdown from HTML will only insert the HTML source into the Markdown field—the HTML will not be rendered into Markdown! You will receive a warning each time you make this switch from Markdown to HTML, but just be careful if you ever wish to revert to Markdown after using the HTML Rich Text editor.


Ref: 1653102361693

Upgrading

To upgrade to a new (or [[different|downloads]]) version of Feather Wiki, all you need is:

  1. Your old Feather Wiki with your data
  2. A copy of the new version of Feather Wiki you want to transfer your data to

When you've gathered your materials, open your new version of Feather Wiki, go to "Wiki Settings" in the menu, scroll to and click the red "Import & Overwrite with Other Feather Wiki file" button, select your old Feather Wiki file, and your old data should instantly populate in the new Feather Wiki version.

Once your data is loaded, click the red "Save Wiki" button in the menu to download your old wiki data in the new version you chose! If you want to keep a history of changes, you can save this new file with a different name than your old file, or you can overwrite your old Feather Wiki file to only keep the upgraded file!

Please note: Your upgrade (and any changes you make) will only be permanent after you click the "Save Wiki" button and save the file. Likewise, if you import and overwrite a Feather Wiki with the wrong file, your wiki will not be lost unless you specifically overwrite the original file with the new one.

Handling Downloads

Feather Wiki utilizes your browser's download functionality to save your wiki. If you are not able to choose some kind of "Save As" option when downloading, you will not easily be able to overwrite your existing wiki file, and your Downloads folder could quickly get overrun with "FeatherWiki_Dove.html", "FeatherWiki_Dove (1).html", "FeatherWiki_Dove (2).html", "FeatherWiki_Dove (3).html", etc.

I recommend looking into changing your browser settings so it will ask you how to handle your HTML file download every time. Here are a few help articles to point you in the right direction:

Mobile Browsers

While most recent mobile browsers should be able to run Feather Wiki to view and potentially edit, (specifically Safari on iOS and iPadOS) might make it difficult to save your wiki after making edits. I don't have any guides or solutions to any difficulties you might come across on your particular device, but you should be aware that it might be trickier to use Feather Wiki on mobile devices than desktop devices. Before making a lot of content, make sure that you can not only view, edit, and save your wiki on your device, but that you can also open the file again after it is saved so you can pick up where you left off!

I don't have access to many mobile devices, but I know that Apple devices in particular require you to have a separate app for opening your downloaded Feather Wiki from your device's internal files.


Ref: 1653099134578

FAQs & Tips

How can I customize my wiki's file name when I save it?
This behavior is controlled entirely by your browser. Some browsers like Firefox require that you specify in the settings that you want it to "Always Ask" what you want to do with a particular file type before it will allow you to specify a particular file name during download. If you can figure out how to let your browser customize the file name and location when you download your wiki, this will also enable you to overwrite your existing wikis instead of leaving a trail of "my_wiki (1).html," "my_wiki (2).html," etc. when you don't want it!
How can I upgrade my existing wiki to get the newest features?
Check out the [[Upgrading]] page for full instructions on exactly how to do this!
Why can't my friend load my Feather Wiki?
The main reason someone might not be able to load your wiki is because their web browser might not support some of the JavaScript features used by Feather Wiki. Check the links provided in the version descriptions on the [[Downloads]] page to get a better idea of what you'll need your browser to be able to do.
How can I change the way XYZ looks in my wiki?
Your options are a bit limited as far as structure goes, but you can write your own [[custom CSS|wiki_settings]] to change the way things look! Aside from that, check out [[Advanced Pages]] to get some inspiration for how you can make individual pages more unique.
How can I publish my finished wiki for the world to see?
Once you have [[set your wiki as published|wiki_settings]] (or even if you don't do that), you can upload your final HTML file to any web host that serves static HTML files and share that link. Check out the [[Publishing]] page for some more tips on how to publish content for free!
Why is my wiki's HTML file so big?
All of the content that you enter is stored directly in the HTML file downloaded after you click the "Save Wiki" button. If you have inserted a lot of images into your wiki, then that can directly contribute to a larger file size. Feather Wiki will reduce the dimensions of any inserted images automatically, but reducing the image dimensions can only do so much to reduce file size.
How can my friend collaborate with me on a Feather Wiki?
At the moment, it is not possible to collaborate in real time, as any one change will overwrite another change. Feather Wiki is intended for single-user usage, and there are no plans to expand that functionality at this time.

Ref: 1652331531133

Advanced Pages

One nice trick to understand about Feather Wiki's content editor is that it's just spitting out plain old HTML. Using that knowledge and a low-to-intermediate level of HTML skill, you can use the Show HTML button to enter any HTML into your Feather Wiki pages! Combine this knowledge with the ability to set [[custom CSS|wiki_settings]], and you'll be able to do a fair bit of customization to your pages! You can look around this wiki to see all the different ways I've leveraged the HTML to get more interesting results.

Be aware that any custom HTML entered there will not be minified when you save your wiki, so the extra whitespace may make your wiki a little bit larger if you're not careful. Also be careful to ensure that your HTML is valid—any tags that are not matched or that have a dangling end tag may cause rendering issues in your wiki!


Ref: 1652389872773

Publishing

So you're ready to make your Feather Wiki public and share it with the world, but you're not sure where to start? This page will guide you through a couple ways to get your content in front of people! Once you have checked the "Publish" box and saved your wiki from the [[Wiki Settings]] page, you can upload your HTML file to any web host to be viewable by whoever you want to see it.

1. Just share the file

The easiest way to let others view your Feather Wiki is to just send them the HTML file itself! So long as they have a web browser that's at least a couple years up to date, they'll be able to load it up and view it just by opening the file in their browser.

2. Find a web host

While there are nearly infinite options for web hosting, it's worth investigating GitHub Pages because they offer hosting for static files (like your Feather Wiki HTML file) for no charge! Even though GitHub itself is designed for more tech savvy individuals, it's actually pretty easy to set up GitHub Pages with your Feather Wiki HTML file.

I'll recreate this here when I get a chance, but steps 1–4 in this post I made for Lexiconga will get you most of the way there! Just swap out the font file in step 3 for your Feather Wiki HTML file and you'll be on your way. Once you've finished step 4, you can visit https://your-username.github.io/repository-name/feather-wiki-file-name.html to view your Feather Wiki, and share that link wherever you want!


Ref: 1652332047301

Inspiration

Feather Wiki is designed as a tool for making wikis and non-linear notebooks, but with a little bit of creativity, you can do a lot of different things! Please submit your own ideas for using Feather Wiki (or links directly to your public Feather Wiki) using the "website update" label to get them added to this site to help others get a better idea of how they can use it!

1. Documentation/Guides

Suppose you want to write documentation for something you've made. You have lots of options for generating static documentation and fancy HTML-only sites, but you want something small that you can include it in a zip file alongside your software. You could just write up a simple TXT file with your instructions in it, but it would be nice to have something that could be styled to fit your particular style guidelines. Instead of either putting a bland text file or including a maze of HTML output from a documentation generator, you could simply write it up in a Feather Wiki and just put that single HTML file in! That way it's small, it's available offline, and it's only one file for your users to deal with. Name your file "User Guide.html" or something like that, and away you go, simple as that!

2. Lightweight Blog/Journal

Sure, it's not the ideal format for a blog, given all the other free options out there that allow others to comment on your posts, but you'd be hard-pressed to find another option that a) is so lightweight, b) looks decent, and c) is completely portable! Even standalone journaling apps require that you install their specific software, but Feather Wiki is entirely self-contained in your saved HTML file and can be run from any compatible browser. Here's how I would set up Feather Wiki to be used as a read-only blog:

First, set a page as your home page (or a few pages as categories) to use as a parent page for your entries. This home page can be used as an about page to explain your blog or talk about yourself or something like that and then can be set as your Feather Wiki's home page from the [[Wiki Settings]]. At this point, you can set your blog's title or add custom CSS to make it look just right.

Next, when you want to start writing entries, you can just create a new page with the title you wish and set the Parent to your home page (or a specific category). Either keep the slug as generated change the page slug to the current date—either will work, but Feather Wiki does keep track of the created and last modified date and time on each page, so manually specifying the date as the slug may not be entirely necessary depending on what you want. By default, when you create a new page, it is added to the end of the page order, which means your posts will display in chronological order from oldest to newest. You can [[manually change the page order|wiki_settings]] in the Wiki Settings to set it from newest to oldest, but that could be tedious.

And that's pretty much it! If you want your blog/journal to be public, then you can [[publish it|publishing]] on any web hosting platform, otherwise you can just save it and use it as you wish.


Ref: 1652501567496

Gallery

The following items are featured here to help you get a better idea of how you can use Feather Wiki! The list is very small at the moment, but you can submit your own to get it featured here!

Wikis


I do reserve the right to deny an addition to this gallery for any reason, but so long as your content does not disrespect or disparage marginalized people, you should be in the clear.


Extensions

The following are code extensions created by members of the community for use with Feather Wiki version 1.3.0 and up.

  • [[Search Extension|extensions]]

Ref: 1653108721301

Extensions

As of version 1.3.0, Feather Wiki can be extended by adding extra JavaScript that gets saved along with the wiki. Using the "Custom JS" text area on the Wiki Setting page, you can access the underlying Choo framework for Feather Wiki from window.choo and Choo's nanohtml from window.html. Using these, you can access the app's state and emitter to modify the app in many different ways.

This page will feature more instructions by the end of June 2022, but for now, feel free to check out the example Feather Wiki search extension.

Use the Search Extension

To try out the simple example search plugin, you can do one of the following things:

  1. Go to your Wiki Settings and add
    document.body.appendChild(html`<script src="https://feather.wiki/extensions/search.js"><\/script>`);
    to the "Custom JS" text area.
  2. Save the search extension file to the same folder as your Feather Wiki file and add
    document.body.appendChild(html`<script src="./search.js"><\/script>`);
    to the "Custom JS" text area in Wiki Settings.
    • (This way requires that the search.js file always remains in the same folder as your wiki file.)
  3. Go to the source code for the extension, copy the code, and paste the whole script directly into the "Custom JS" text area in Wiki Settings.

Once you add your extension code, you will not be able to see the results until you save your wiki and re-load the file. When it's saved and reloaded, the example search plugin will inject a search bar just below the "Save Wiki" button that provides an extremely rudimentary way to search content in your wiki's pages, powered by Fuse.js!

Note: This search extension requires a connection to the internet because it loads Fuse.js from an external CDN. It is possible to modify the code to use a local version, but you will need to download the Fuse.js code and modify the extension yourself for that.


Ref: 1653718364906