Git Product home page Git Product logo

tiddlywikilinks's Introduction

TiddlyWiki

This is the master repository of the Classic version (2.x.x) of TiddlyWiki (not to be confused with TiddlyWiki5, which is rewritten from scratch and backward incompatible with Classic).

If you simply wish to use TiddlyWiki or to find out more about it, it is easiest to do so at classic.tiddlywiki.com. Also, you can get help in the TiddlyWikiClassic group. If you have some feedback, you can use both the google group and GitHub issues.

TiddlyWiki's source code is split up into a number of separate files which are then joined together by the npm run build-core command (requires Node.js and NPM to be installed) to produce a single HTML file. See scripts and instructions for testing and building TiddlyWiki and docs for tiddlywiki.com in the build/README.md file.

Discussion on TiddlyWiki development takes place on GitHub and on the TiddlyWikiClassic group; the old TiddlyWikiDev group my be useful to discuss issue related to both TWC and TW5.

License

TiddlyWiki is Copyright 2013 UnaMesa Assocation

It is licensed under a BSD License. See html/copyright.txt for the exact terms.

tiddlywikilinks's People

Contributors

abesamma avatar ahanniga avatar bimlas avatar clutterstack avatar jermolene avatar linonetwo avatar marxsal avatar mateuszwilczek avatar oeyoews avatar oflg avatar pmario avatar saqimtiaz avatar simonbaird avatar sobjornstad avatar stephenteacher avatar twmat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tiddlywikilinks's Issues

Tag/Topic compression - back end or front end?

I was looking into using cascade filtering to combine tags for the Topics menu page.

Using cascades on the front end would be more accessible to most people. Unfortunately, the cascades make tag/topic counts very challenging. A single url may be represented by several tags that all combine to form one tag. Working the cascade backwards turns out to be problematic. I could only do it using wikify, which doesn't work on the main topics page because of performance issues.

A version of this approach would be to use the cascade filters in conjunction with a data dictionary, so that the reverse lookup process would not be so intensive. This would require keeping the cascade and the data dictionary in synch. Possibly by generating the dictionary from the cascade.

A completely different approach would be to have, perhaps, a JSON file of conversions that is used on the backend when the wikis are downloaded and analyzed. This approach would produce a clean slate of url tiddlers that would be already encoded. This would make display counts straightforward. In fact, nothing on the front end would have to change. But since it's done in javascript, it would be a little less accessible to the general public. I say "a little less", because there doesn't seem to be that much engagement in the first place.

So I'm looking for feedback which approach, if any, would be preferable. Thanks!

Add RSS/Atom feeds

Hi,

since I don't have that much time to follow discussions on old Google group or discord, from time to time I check links.tiddlywiki.com to see which new plugins/macros have been recently developed.

It would be nice to have a RSS/Atom feed URL so I can easily add it to my feed aggregator.
Thanks in advance.

Kind regards,
Victor

Camel case links don't work in descriptions

We should probably entirely disable them.

Part of the problem is that right now the mapping of tiddler links to static file paths is done rather manually, I hope to soon introduce a mechanism that will automate things so that links within the aggregated wiki will work.

Should we add "original-title" to the search ?

We didn't originally have the "original-title" option. So it's not part of the search. But maybe it should be?

What prompted this was looking for "TW Magick", which by chance did not have the term "TW Magick" in the actual searchable text (I'm fixing that in my instance) though it was in the original title.

Search only returns lower case results.

Go to the search box. Type "plug". Or type "Plug". Either way you will only see 5 topics, and they are all lowercase. Click on "plugin" and it will take you to topic "plugin (25)", which represents only the lowercase topic name -- there are 53 other items under topic "Plugin".

Idea: Support scraping of links from Twitter feeds

In order to be able to post links from any device as fast as possible, I'd like to submit links via Twitter.

A contributor could register the URL of a twitter account instead of a TIddlyWiki. We could use a convention such as the hashtag #tiddlywikilinks to indicate links, with other hashtags being applied to the link, and the text left over after removing the link being the body text.

I think this kind of thing is straightforward with the Twitter API, but we may want to cache previously read tweets in the repo to keep API usage low.

Web form for submitting new sites

To facilitate the process for contributors adding their site to TiddlyWikLinks, we should consider a form that generates a PR to add the given site to sites.json

I allowed myself to get distracted and spend some time looking at this yesterday with a Google form that writes to a Google Sheet. It is fairly straight forward with one sticky area: how to remember between Github workflow runs which rows in the Google sheet are new since the previous run.

I tested a few different alternative Github workflows:

Option 1 (with the problem of identifying new rows unsolved)

  • make the Google sheet public
  • in a cron based workflow run in Github actions, fetch the JSON data from the sheet over HTTP
  • run a nodejs based script to update sites.json
  • Use a workflow action to create a PR

The problem here is how to remember between runs which rows have already been processed without checking temporary files into the repo.

Option 2

  • A script in Google Sheets to mirror new rows to a separate worksheet, so that we can modify it and have the original as a log.
  • Use a Github action with read & write access to the Google sheet to remove rows already processed.
    • requires a Google service account that has access to the sheet (and nothing else) with the relevant secrets stored in Github repository settings as secrets.
  • run a nodejs script to update sites.json
  • Use a workflow action to create a PR

Works but a few too many moving parts, could be refined.

Option 3

  • Use a script in Google sheets which triggers on new form submissions and does a POST request to trigger a Github workflow using repository_dispatch event.
    • Requires that you create a Github personal access token with repo scope (read and write) and provide that to the script in Sheets.
  • The POST request provides the new form submission data and it is processed using a nodejs script to create a new PR.

This is the cleanest in terms of flow but I am uncomfortable saving that PAT in the Google script with regards to security.

How to edit locally with client-server configuration

Questions --

Is there a way to fast-start the server without checking for new items every time?

The basic setup won't let you save new tiddlers. I tried adding the tiddlyweb and filesystem plugins, but that resulted in non-stop errors. Is there a way to add new tiddlers?

Thanks!

Move links.tiddlywiki.com to a TiddlyWiki-based UI

https://links.tiddlywiki.com/ is currently presented as an old school static site: clicking on a link navigates to a new URL, retrieving an entirely separate HTML page. The pages are all generated in advance, taking about 80MB. The same data is also presented as a 3.8MB TiddlyWiki HTML file.

It was built this way in order to be friendly for search engines but it has been demanding from a development perspective because it is significantly more complex than any other static TW site build I've built. For example, search has had to be redeveloped as a little custom JS app.

There are also some significant recent bugs (#24, #25, #26) that are all due to shortcomings with the current static site rendering framework.

At this point, I'd rather focus effort on the core link aggregation functionality than on fixing and extending the static site generation framework.

So, I propose to remove the static renderings from links.tiddlywiki.com, and build an equivalent user interface in TiddlyWiki.

"1 links" for a contributor

Petty gripe that should be equally easy to fix: the number of links for a contributor isn't singularized when there is only one.

image

Also in the details view:

image

Could we change the palette?

The links pastel green palette seems to be somewhat unpopular and may be inhibiting uptake. It gets mentioned in the forum regularly.

I would suggest "Blue", or my favorite "Cupertino Dark" (which I use all the time). Dark themes are very popular right now. Or we could make requests (contest?) for a custom palette.

Uppercase topic link directs you to lowercase topic

Go to topics. Currently you will see "Plugin (53)" and "plugin (25)". Click on the uppercase version. It will take you to the "plugin (25)" results. Effectively, 53 plugins are unavailable through the interface.

Make npm edit command work like start command ?

I'm already using port 8080. The npm start command used 8081. But the new npm edit uses port 8080 and throws an upcaptured error. Could this be tweaked to work like the start command? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.