Interactive to-do lists in MkDocs - mkdocs

I use MkDocs to document various things at my home that I tend to forget otherwise (such as manufacturer and model of appliances, inventory of things I rarely use, etc.)
I would like to have a sort-of recurring to-do list in my MkDocs page. It would look something like:
* Clean the house (weekly) [last done 1.1.2023, click here to mark done now]
where clicking the indicated part would mark the task done and move it to the bottom of the list whereas getting past the indicated due date (in the example it would be the last done date plus one week) would move it to the top of the list and possible mark it with different color.
Is this completely out of MkDocs scope or does someone have an idea how to implement it? If I wanted to implement it myself, what would be a good starting point?

Related

Should I have One form or two seperate forms

I have two forms (below) one is a trip calculator and one a spending money calculator
There is a spending money radio on the trip calculator(if clicked "yes", will open the spending money calculator in new tab, functionality not added yet)
From a usability perspective should I:
Leave the two calculators separate as they are large enough visually already
OR
Add a conditional section to the main calculator where if clicked yes, the spending money calculator will open in the same page as the main calculator making the whole calculator longer if opened?
http://tripcalculator.travel2mania.com/WrestleMania.php
http://spendingcalculator.travel2mania.com/WrestleManiaspending.php
Do you have the time to do this right? Because if you do, I would not use a form generator, and I would not even use forms. See this question.
I also would use a tabbed UI. The forms are a bit overwhelming... having fewer sections per screen, with either a next=> button, or a tabbed UI, would be easier to use. (Note that when creating a tabbed interface, the tabs are merely a visual trick. In reality, all fields are available to you, the developer, as if they all were on the same page) Thanks to jQueryUI Tabs, making tabbed interfaces are a breeze!
If you re-work your UI, then you can bring both up on the same screen.
Also, sounds like you could use some tips on using modals (aka "lightboxes"). You will love them.
And, if you don't already know about these two things, you should take a half hour each and brush up...
jQuery -- important: use down arrow to start showing things on each slide
flexbox
More about AJAX
Also...
Some tips on building your project
For each of the above widgets (Tabs, Modals, etc) - do a few tiny, simplistic tests/exercises first. Don't just run into trying to work them into your project. You will not save time -- you will waste it.
When you build your project, first build each of these widget interfaces in its own project -- as though that one thing (the jQUI Tabs, for eg) is the only thing in the project. So build each widget separately. THEN integrate them as the final step. You will be glad you did.
If you have any PHP in the project, either use a lot of fopen() Write-to-File statements, so you know where the code got to before it crashed, or learn to use the PHPConsole Chrome add-in.

Filter Courses by Progress in Chamilo LMS

I am new to chamilo lms learning system. I had created my portal on Chamilo and added courses also. Now I want to add filters on course home page from where i can filter courses according to their course progress.Filter like completed button filter will filter all the courses who gets completed and partial completed filter will filter process which are not completed yet.
Is there any way from which i can add a course progress filter on course home page ? Any kind of help either suggestion or technical will be appreciated.
It is not clear what you call courses. You seem to be mixing the notion of course (like the course space that offers a homepage) and of learning paths (that have a progress indicator). It is not clear either whether you want to filter courses or only show the tracking information and whether you want to do that as a teacher or as a student. This all makes it very difficult to answer you, but I'll guess.
The progress in the different learning paths can be seen on the learning paths list page. Chamilo is a relatively procedural language, with still relatively few friendly URLs, so it is very easy to understand where to look for examples in the code.
The tracking of learning paths is shown on the main/lp/lp_controller.php page (for your own progress, in chamilo 1.11.0 and above) and can be seen on the same page if you load the script with the "&action=report&lp_id=x" parameters. That should give you a first idea of where to look for the function calls that get the data you want.
Then showing this information on the course homepage is mostly a question of checking the main/course_home/ folder and see where you want to put it. You might need to modify templates in main/template/default/, but not all pages are supported by templates yet.

sublime text 2 list of xml tags for themes

Where can I find a list of all available xml tags to build a color theme?
ie.
<key>findHighlight</key>
<string>#FFE792</string>
where is a list for all of the tags such as findHighlight, findHighlightForeground, etc ...
I can't find it on the sublime site.
Thank you
The best way to learn how to construct themes is to take apart existing ones - that's how I learned. I have yet to find a comprehensive resource on theming in Sublime Text and TextMate (which heavily influenced Jon Skinner, the author of ST). There are bits here and there with a few scopes, or a couple tips, so if someone else has found (or written) something I'd love to hear about it too.
And, a bit of blatant self-promotion - if you'd like a large collection of scopes from which to start designing your own, check out my Neon Color Scheme, also available via Package Control. It's goal is to make as many languages as possible look as good as possible, and to that end I've assembled as many unique scopes as I can get my hands on. Feel free to fork it on GitHub and play around with it; if you end up releasing something for the world to see just drop me a line so I can check it out!
Another tool I'd highly recommend is facelessuser's ScopeHunter plugin. It has a lot more functionality than the built-in scope-viewing options, and is invaluable if you're doing theming.
Finally, check out Color Highlighter and ColorPicker - the first highlights hex color codes (among other formats) in your file with that color, allowing you to see what you're working with, and the second pulls up your OS's color picker widget so you can choose a new one if you want.

jQuery Mobile -- how to lay out my pages

I have an app that I'm building which is for completing a work order. The main page shows the details of the work order (site address, what needs to be done, etc.) and then there are a couple of listviews which show product and labour for that work order. At the start, there is no labour nor product attached to the work order, so these listviews are empty. When the employee is finished the work order, they can click Add Labour or Add Product to, well, add labour or product to the work order to reflect what work they've done.
I should point out that the main work order, the labour items, and the products are all distinct records in a database, all connected by the work order's primary key.
My question is about how I've laid this out. Currently, I have 3 distinct pages - one for the main work order, another for adding/editing labour and another for adding/editing product. When I say 'distinct page' I don't mean the <div data-role="page">, I mean, clicking "Add Labour" takes the user to a different website URL entirely.
I'm starting to question my logic in this design. Should I have all three (main, labour & product) on the same page, separated only by the <div data-role="page">? Then, when the user adds labour, it just takes them to that 'page' and, upon hitting "Save Labour" the main div (page) is dynamically updated (the labour listview gets an item added to it).
Not entirerly sure how I should have this built - I'm new to jQuery mobile.
Thanks
First let me tell you, you are not doing anything wrong.
There are 2 common ways of creating jQuery Mobile applications.
Single HTMl / multiple pages
Multiple HTML files
Each way has few good and few bad sides to it. From my experience people usually choose multiple HTML files solution and it is to be expected. Single HTML / multiple pages is a new paradigm created by jQuery Mobile developers and it will take some time for people to accept it as a normal/common way.
Because you didn't say what kind of app are you creating I cant advise you which approach is the best one. Usually if you are creating a classic web page it is best to use a multiple HTML solution. In case you are creating a Phonegap mobile hybrid app it is best to use single HTML file with multiple pages (this will make sure page transitions are smooth).
If you have more questions feel free to ask.

Are there any patterns/algorithms for dealing with localisable mnemonics?

I work on a web application product which allows mnemonics (i.e. an underscore below the character 'C', to allow a keyboard combination and the key C to trigger the "Close" button).
Forms are created by different developers and they can each statically set mnemonics for buttons.
Forms can be nested, so it is not necessarily known at design time the exact mnemonics which will be required for one page.
There can be at most one mnemonic using any character on a page containing many forms.
And here's the kicker, the forms must be able to be localised into any language, meaning that the 'C' for close may not even appear in the... [insert language] word used for "Close".
The ideal solution would be some algorithm where developers didn't have to manually specify a mnemonic, instead they would be worked out at run-time, they would be localised, and they would be both convenient and consistent (I did say the ideal solution ;-D).
So I was wondering, are there any good strategies for achieving something anywhere near the ideal solution?
EDIT: To clarify,
I'm not talking about keyboard accelerators, such as Ctrl+S for save, which is hidden on a menu. The mnemonics are only used for actions which are presented on the screen, under button labels for example. Not hidden keyboard shortcuts that would change on localisation (there are none anyway, we run in a web browser, so the only accelerators are those which are part of whichever browser is being used).
The problem with attempting to choose the mnemonics at design time is that the people responsible for developing the UI are not aware of the localisation, as it could be done months later. Also, the problem of using nested and modular forms means that even without the localisation, there could still be conflict.
Some of the ideas I've batted around include having a global mnemonic registry which forms could use to apply for a certain mnemonic based on it's localised label, the registry would then calculate which was the best use of available characters. Somehow it would have to maintain the state of that - such that the same form does not appear with different mnemonic sets over the course of the application use, it could possibly even be done statically and persisted.
Surely if I was looking to do something like that it would fit a more general algorithm - I just have no idea which one! :-)
I tried to do something similar on a past project, and abandoned it. It was too complicated to get done in any reasonable amount of time.
One of the challenges is that some languages don't have a single displayable "letter" that maps to a single key on the keyboard. Another challenge, in English, was that usability standards required the mnemonic letters to be consistent with those in similar buttons/menus in other apps. This can be difficult if you are dynamically choosing the letters.
I don't know if it could be called "best practice," but consider what Microsoft Internet Explorer does in Japanese. Note the familiar F, E, V, A, and D mnemonics on the menu and the toolbar. I imagine that it follows the same convention, where appropriate, for buttons on forms and such.
(source: sidenet.ddo.jp)
(I snagged that screenshot from a google image search. If it goes stale, you can find other pictures of jp-localized IE pretty easily.)
This is really a design problem, not an algorithmic problem. It turns out that most applications don't localize keyboard accelerators, including most Microsoft ones, although there are some exceptions in certain markets. Not every keyboard shortcut is a mnemonic; really, only a few of the most common ones are.
I should note that this election not to localize accelerators is a rather recent trend; prior to 2000 or so, it was still quite common to localize shortcuts in some products (examples being ctrl-F for "Fett" instead of "bold" in German and Swedish products). But the pendulum has swung in the opposite direction, perhaps as a consequence of MUI and similar features.
A few localization tools will help you on this; I saw this feature as a bullet point on a product I've never used called Visual Localize. I'm not sure how useful automatic assignment is, as it's a fairly hard problem to automatically decide which character is the best mnemonic representation anyway, without domain knowledge of a particular product.
Generally, it only makes sense to localize the underlined mnemonic characters on dialogs, and maybe in menus. Most localization service firms are familiar with this process, and some have tools to detect duplicates in any build-time resources before handing back the localized resource package. You might actually want to invest in locating or building a tool that can do this duplicate check at runtime, and run the tool as part of acceptance criteria.
For regular menu items or keyboard command sequences, it can be more confusing than helpful, unless you have a fully baked keyboard to command mapping customization feature.
The problem I see with doing this is at runtime, is what happens when you deploy a version which has new forms, and changes Close from alt-c to ctrl-c. Or when you have two actions on two different pages but they are both close, you want to make sure close is always alt-c. Even worse would be if the algorithim was based on something non-deterministic and could change over time without a deploy.
It just seems like you might spend more time trying to build an algorithim for something that should be decided upon at design time.