supermemo-wiki / SuperMemoAssistant.Wiki

Documentation resources
MIT License
3 stars 7 forks source link

SMA documentation (Open Beta) #17

Open alexis- opened 4 years ago

alexis- commented 4 years ago
alexis- commented 4 years ago

Temporary notes:

- Supported versions
- Are there risks ?
- command line parameters
    - Open collection
    - Key logger
- Collection window options
    - path
    - trust hint
- How does it work ?
    - The files (for user doc) (rest for dev?)
    - config files (.json)
        - per module
        - shared
        - collection
        - Log config (log level, first chance exception, ... ?)
    - Plugins
        - Developer
        - Packages (nuGet)
    - If you're interested in nerdy details, go to dev doc
    - History of SMA
- Plugins
    - How they work ? (own process, etc.)
    - LaTeX
        - Advanced config (.json)
    - PDF
        - HotKeys
            - Extract PDF (Ctrl+Shift+X)
            - Extract SM (Alt+X)
            - MarkIgnore (Ctrl+Shift+I)
            - ShowDictionary (Ctrl+D)
            - GoToPage (Ctrl+G)
            - SMLearn (Ctrl+L)
            - LearnAndReschedule (Ctrl+Shift+L)
            - SMReschedule (Ctrl+J)
            - SMLaterToday (Ctrl+Shift+J)
            - SMDone (Ctrl+Shift+Enter)
            - SMDelete (Ctrl+Shift+Del)
            - SMPrevious (Alt+Left)
            - SMNext (Alt+Right)
            - SMParent (Ctrl+Alt+Up)
            - SMChild (Ctrl+Alt+Down)
            - SMPrevSibling (Ctrl+Alt+Left)
            - SMNextSibling (Ctrl+Alt+Right)
            - UIShowOptions (Ctrl+O)
            - UIToggleBookmarks (Ctrl+B)
            - UIFocusViewer (Alt+C)
            - UIFocusBookmarks (Alt+B)
        - Non-hotkeys
            - OCR (Alt+Click)
            - Image area selection (Hold left click)
            - Force image area selection (Hold right click)
            - Zoom (Ctrl+Wheel)
            - Extend text selection (Shift+Click, Shift+Left/Right)
            - Deselect (Escape)
            - PDF navigation (Up/Down/Left/Right/Pg. Down/Pg. Up/Home/End)
            - Select word (Double click)
            - Select paragraph (Triple click)
            - Select page text (Quadra click)
            - Select page (double click on empty space in page)
            - Extend page selection (Shift+Click page)
            - Add to selection (Hold ctrl)
            - Select image (Click image)
        - FAQ
            - When I click the whole page is selected as an image
                > Your pdf is made of images, either use an OCR and remove the images, or use force image area selection
            - My PDF won't load and there is an error in the logs
                > Create an [issue ticket on github](https://github.com/supermemo/SuperMemoAssistant.Plugins.PDF/issues) and upload your PDF
- Bug reporting
- Settings
    - Plugins
    - Layout

- Dev doc
    - Copy from user doc
    - Different projects / Project layout
    - Plugins
        - PluginHost (doesn't load Interop)
        - ISMAPluginManager
        - ISuperMemoAssistant
        - ISMAPlugin
        - SMAPluginBase
        - Dictionary
            - Implementing dictionary in your plugin (Interop)
            - Implementing a new dictionary API (Interop)
        - Import
            - Implementing web imports in your plugin (Interop)
            - How does it work ?
                - Browser plugins
                - Native host exe
                - Import plugin <> IPC <> Native host
    - Interaction with SuperMemo
        - Calls
            - native calls (delphi, inject lib, message pump)
            - NativeData.json
            - SMNatives
            - How to update offsets ?
        - Registries
            - Hooks
            - Sparse clustered array
            - Versioning (RegistryUpdater, SuperMemo17 folder, ..)
            - Explain the different parts (content, components, controls, registries, element, UI, ...)
        - Rationale behind "UI"
        - SMHookEngine
    - Interop
        - Resources (SM icons)
        - Extensions
        - Utilities (\Sys)
    - Services
        - Keyboard hooks
        - Configuration svc
        - [Pkg] Settings UI
        - [Pkg] HTML
        - [Pkg] Media.Images
- mshtml nuget