Updating the Tidal website and documentation

I've been working on this a bit, but still needs a few things before importing everything. To name a few: Fix internal links, and maybe group all functions in a single md file?

Fixed. custom_dir should point to the material/ directory inside tidal-doc-theme/ as that contains the production build.

edit: I'm sure we can take the language selector (and some other insider feature we want) and make it an "override" of the open source theme.

1 Like

Ace thanks! With grouping all functions in a single file, I guess having separate files has some advantages, making it easier to build it into context sensitive help files for editors? But then it would still be best to have the reference on one page on the website somehow.

I agree it's best to build off the fully open public github repo to get future updates, taking the insider features we want. Strictly speaking the 'insider' stuff is open source (MIT licensed I think), so we're fine to do that.

Hm I had a go at backporting the language selector on the open material release.. I managed to get the <link rel>'s in the html header, but the drop-down language selection is in partials/header.html, which isn't organised into blocks, and is auto-generated somehow with a message saying that it shouldn't be edited.. If I copy the whole file across then things break.

You're right, I think it's better to have them in separate pages, and then have an index for them, included in the nav as a section.

I managed to make the <select> work somehow, but the styling is wrong (I must be missing some styles, or maybe it's using a different version of material components).

Ok, the language selector is working now. I also wrote some js to make the links go to the current's page language (if you are on /funcs/rev, and you hit the German link, it should go to /de/funcs/rev now, instead of /de).

Going to look into the wiki importer again now.

Thanks looking good, I'm trying to focus on releasing tidal 1.6.2 this week so might go might go quiet for a bit!

4 Likes

Hi Alex!
I think you mentioned making some changes to the userbase during the stream the other day? If not, please ignore this.
If you're taking suggestions regarding what to add or whatever I'd love a wikipedia-style "random article"-link. In the context of Tidal maybe it would be "random function".

1 Like

Hi @C-o yes, I've moved your idea to the existing documentation update thread.

The documentation update has been on hold while releasing Tidal 1.7 but will return to it soon.

The current userbase uses the same software as wikipedia so you can go to a random page in the same way: https://tidalcycles.org/Special:Random

1 Like

I'm just looking at this nice system for managing translations:
https://weblate.org/

It'd be nice to integrate this with the new site. However searching for 'weblate' and 'mkdocs' doesn't seem to turn up any advice for getting them together.. But maybe it wouldn't be too hard.

Otherwise without this sort of system I worry it'll be hard to keep the different translations in sync with one another.

Hello alex!

Maybe I'm little bit too late to comment about website builder, but is mkdocs suitable for new Tidal documentation website?

IMHO Docusaurus is the most easiest and flexible static site generator when it comes to documentation websites.

It has nice styled default template without complicated configurations, search functionality is easy to implemented and ready for internationalization.

In Docusaurus we can use Crowdin for translation which is free for open-source projects. (or just use git)

I think using modern Jamstack framework make contributions easy as well. Many frontend engineers are familiar with react and node.js ecosystem. (including me)

I'd like to help making new website if you choose this tech stack.

2 Likes

Hi @dowdiness,

As you can see we started work on a mkdocs-based website but things stalled a bit. The lack of built-in translation is a bit of a blocker.. If docusaurus can solve that one that'd be great! I see it's based around markdown as well so wouldn't be a whole lot different to work with?

I made a PR for Docusaurus version documentation site. Yes, it's markdown based static site generator as well so switching to Docusaurus from MkDocs is not difficult at all.

Thanks a lot!

github tells me that immer should be 8.0.1 or later, it's 1.10.0 in yarn.lock. What's the best way to ugprade that?

I'm not very familiar with modern web technologies..

I don't get that error when I run locally. I guess you mixed npm and yarn or node_modules. Just delete node_modules folder and package-lock.json(if you have).

Then run

yarn install

and

yarn start.

Docusaurus site will be running on http://localhost:3000.

If you don't have yarn yet, you can install yarn by

npm install --global yarn

If you use homebrew, you can install yarn by

brew install yarn.

as well.

Uh... this is not accurate. I think your yarn's version is 1.10.0 but actual latest version is 1.22.10. That's why you get that kind of warning.

Just execute

npm update --global yarn

for updating yarn.

Thanks that fixed it!

I didn't get the github action building it. Probably it is best to test locally and then do yarn deploy by hand anyway.

Do you know Vercel? I think this hosting service is faster than github pages leveraged by CDN. You can get preview site every PR so reviewing PR is much easier. They can sponsor open source project if you contact them.


@yaxu @geikha i've had a thought recently about systematically sifting through the rocketchat and the discord channels to pull out some useful questions/answers/examples that could potentially enrich the official tidal documentation. i feel like oftentimes there's a lot of really key information from the chatrooms that never get recorded and would be extremely useful to the larger community. i see there are a few (3rd party) ways to export messages from both clients but wanted to check with the respective admins first to see if either of you knew other ways this might be accomplished. let me know your thoughts.

4 Likes

I had a chat with a colleague about this who does discord related bot development -

He demonstrated that there are bots that do on demand logging/archiving but I feel like maybe it would be more worthwhile just writing all channels direct to text based logs on the server directly (named by server-channel-daterange) ... these can then be shared somehow.

He's offered to write something that would do this, but without knowledge of any of the infrastructure running the discord, I have no idea if the idea is feasible - can anyone clarify if this would work?

1 Like

Hi! I am just joining this conversation now, and maybe missing some details, but from the last few posts I have read I gather that the documentation will eventually be moved from MediaWiki to something else. Is this right? I'm wondering because... although I'm new here... I have been adding some (afaik) undocumented functions to the wiki, and I guess I just want to find out if I should wait to do this on whatever new system is implemented.