| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
| |
Also turns out I was using the Bulma .content class wrong this whole
time. We just need to slap that class onto a div and anything inside can
be the output of, say a markdown -> HTML converter!
Fix messy spacing and extraneous whitespace in the HTML as well.
Special thanks to Vim macros.
|
| |
|
|
|
|
| |
Thanks to wookie for finding the bug.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fixes the latency previously observed on page loads.
We still have to put switch toggling after page loads though.
Genius idea by wookie.
Co-authored-by: wookie184 <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
We have the CSS for the navbar in base.css, the relevant files only
contain code for the theme toggle, so they should be named as such.
If we ever implement CSS variables per-theme, they could then be done in
`themes.css`.
|
|
|
|
|
|
|
|
|
|
| |
We can now use `[data-theme="dark"]` selector in CSS to defined styles
specifically for dark mode. This follows common web dev patterns and
gives little overhead.
- Hero
- Added `wave_black` SVG which copies `wave_white` as is but uses the
site's dark mode background color.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added features
- When no preference already stored when page loads, we'll take into
account the system setting and set the theme automatically.
- When the system setting is modified while the site is active, switch
theme automatically.
- The system preference takes lower precedence than saved preference
from the switch toggle, unless the setting is modified while the site
is active.
Miscellaneous refactor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use localstorage. Advantages:
- One key=value for the entire site, without needing to specify
`path=/`
- No need for string splitting to parse the `key=value; ...` data
- Suggested more widely in tutorials
Pretty good support: https://caniuse.com/?search=localstorage
- Remove the need for JQuery, use IDs for switch and knob elements.
- This also makes the code more robust if the page has other switch &
knob classes!
|
| |
|
|\
| |
| |
| | |
hopefully I dont have to do this again
|
| |
| |
| |
| |
| |
| |
| | |
Adds support for tag groups in content. This involves some modification
to the routing, and templating.
Signed-off-by: Hassan Abouelela <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
Move the tag cropping logic to the frontend, which makes it easier to
crop without crossing boundaries such as link or code block boundaries.
Signed-off-by: Hassan Abouelela <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This implements the core logics for filtering by search.
It uses fuzzysort to match the search query to the name of
the resource. This name is set in the yaml for each resource.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is now a completely self-contained feature, which
can be used in the same way on every page. I've moved all the
collapsible-related logics out of the resources.js file and
into collapsibles.js, and added documentation and other
quality-of-life features that will apply to other pages, as well.
Changes:
- The icon will now always change when the collapsible opens or closes.
- By adding the "collapsed" class, you can tell the collapsible to
be collapsed by default.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Previously, trying to go to `resources/project%20ideas` would crash
the filtering JS. This has now been sorted out, so that these types
of redirects have their spaces replaced by dashes, which makes them
valid again.
|
| |
|
|
|
|
|
| |
For example, navigating to pydis.com/resources/communities will now
correctly redirect to pydis.com/resources/?type=community.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Adds a bunch of tag-related quality of life improvements:
- You can now see which filters you've added at the top left.
- You can click on tags to start filtering to that tag.
- You can click on tags in the filter box to remove the filter.
- Tags will now show an outline when they are active.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commits makes two important changes:
- Whenever we click on filter checkboxes, the URL is immediately updated
to include parameters that represent the chosen options. For example,
if you select Beginner complexity, the url is updated with
?complexity=beginner.
- Whenever the page is loaded, we deserialize any parameters that exist
in the URL and change the filter state to match it. In other words,
refreshing the page at any time retains the current state,
and you can now link people to exactly the filter results that you
want to share.
|
|
|
|
|
|
|
| |
Here's the initial version of this system. We've got filtering,
but only by clicking checkboxes. The overall look and style are
pretty close to where we want them, but it's missing tons of
polish to be complete. The following commits will contain that polish.
|