documentationwikiarchiving

Tool to archive techniques and lessons


I need a personal archive tool to archive the programming algorithms, lessons, techniques and codes.

Something like a "Personal Wiki" that supports images attachments, code decoration, content categorization and search for any content at any time.

I know i can use an open source tool like forums or media wiki but i need something customized for this personal purpose.

Desktop tool or web tool.


Solution

  • For those who are search for the same purpose, I found some tools:

    Here are some things I've tried with their pros and cons:

    OneNote

    Pros

    Excellent ability to organise notes. You have have books containing section groups containing sections containing pages and subpages. I've got a book for Development, then a section group for Languages, then a section for Ruby, then pages for every topic within Ruby. The highlight here is that there's no penalty to creating dozens and dozens of pages on a given topic, helping you keep things organised when you get really deep into a specific topic. It's an easy mistake to just say "Yeah, a section for Languages, then a page for PHP", but before you know it the PHP page is half a mile long and you'll never sit down to properly re-read it again, it becomes a pain to find the info you want, etc. Great support for multi-user notebooks. It properly keeps track of who added what and what got changed when, making co-operation easy. Syntax highlighting can be done with the OneTastic plugin, which lets you define custom styles. Just define a custom style in a monospaced font with a special colour, and call it Code. Support for tabular data, attached files, audio, video, etc, if you need that sort of thing.

    Cons

    Need to use a special app to consult it, so you can't just hit it from a work computer or the like. Web app is clunky and lacking full features, I still haven't gotten a desktop notebook to properly sync as a web app notebook. Search isn't the best.

    MediaWiki

    Pros

    If you make it public, you can use Google on your notes, which is better than any other search. CSS means it's easy to style and present it how you want without manually altering every bit of text like you'd need to in OneNote. Because it's just a website like any other, you can access it from any device without installing anything or having to log in. Export as ePub file, meaning you can read all your notes on your Kindle/ereader, really good for refreshing. Any page can belong to multiple categories, which is nice. Built in syntax highlighting with code tags.

    Cons

    Limited/clunky ability to organise in tiers, ultimately a fatal flaw for me. Becomes a pain to quickly add notes to pages. (I would kill for a no-page-reload transition between read/edit modes!) Reliant on an internet connection (usually not a problem, but something to be aware of).

    Plaintext files in folders

    Pros

    Zero learning curve/adaptation. Read them anywhere with no special software (tip: put them in a shared Dropbox folder, map an address on your domain to that folder). Read natively on ereaders or convert to ebook format with no real effort.

    Cons

    No syntax highlighting, no image/audio/video media, no tabular data. Hard to fuzzy search. Edit conflicts if you're studying alongside someone.

    Google Drive

    Pros

    Excellent support for sharing/co-operation Good search Good mobile support Supports a lot of media

    Cons

    Tends to be slow to use Presentation options tend to be frustrating Reliant on internet connection My personal recommendation: OneNote + Onetastic plugin, using all tiers/dividers, exported to PDF or multiple PDFs regularly so you can consult them from elsewhere.


    Quoted from this link:

    https://www.reddit.com/r/learnprogramming/comments/3acusr/how_to_take_notes_while_learning_programming/