Skip to content
This repository has been archived by the owner on Mar 1, 2023. It is now read-only.

Publish with GitHUB #16

Open
kookma opened this issue Sep 8, 2019 · 3 comments
Open

Publish with GitHUB #16

kookma opened this issue Sep 8, 2019 · 3 comments

Comments

@kookma
Copy link

kookma commented Sep 8, 2019

Using ThirdFlow + PluginSkeleton it is quite straight forward to create new plugins!
The question is if I want to publish the plugin and its source on GitHub using thirdflow, how can I do this?

Note that I don't want to upload all the PluginSkeleton to GitHub

@kookma
Copy link
Author

kookma commented Sep 9, 2019

More input:
I mean when a plugin is developed by ThirdFlow, I want to be published in GitHub (source + packaged) so that other people can download the source ( Node.js version) and use for further development or use in their Node.js installation of Tiddlywiki! So, it seems we need to have a plugin.info file, etc.

In brief plugins published in GitHub using ThirdFlow development tool can simply be used by other Tiddlywiki developer on Node.JS who do not use ThirdFlow.

@thediveo
Copy link
Owner

thediveo commented Sep 9, 2019

I'm not exactly clear about what you want to achieve, so that is what I think I understood so far from what you wrote:

  • Plugin packaged: I would assume a single .tid file here. This is the file that you probably want to release via Github's release mechanism. You create this file as explained in How To (Set Up and Release), and the results will be in editions/release/output. You now either upload ("publish") manually, or preferably, using CI, such as the external travis-ci.org service, or using Github's own new CI. Whatever you do, that is your own responsibility.

  • Plugin source: as you always have the plugin source, even in its packaged form, the only reason for what we here call "plugin sources" is the git- and developer-friendly form with the individual tiddlers making up your plugin as separate files. When you closely inspect how the TiddlyWiki Plugin Skeleton works, you'll notice that it follows how TiddlyWiki on node.js operates: it's a set of tiddlywiki.info files that explain to the TiddlyWiki nodejs server how to load and combine the individual pieces. In particular, your Github plugin repository does never contain the ThirdFlow plugin, or any other development plugins, such as codemirror. Check the sources and you should see this. The plugins, such as ThirdFlow, only gets loaded from outside your project sources, especially the node_modules -- which you should never check into your repo anyway.

  • plugin.info file: as far as I know, this is a plugin description that is currently used only with official plugins that are part of the https://github.com/Jermolene/TiddlyWiki5 repository and the tiddlywiki.com website. There is no way to the best of my knowledge to use this from/for 3rd party plugins, regardless of they are published on Github or in other places. As far as I remember, there had been some discussion at some point in time, but there never has been a general process and mechanism put into operation. So, this currently is a dead end.

As the TiddlyWikyPluginSkeleton is, it is the "best" way I could come up to develop and prepare TW plugins under the aforementioned restrictions.

@kookma
Copy link
Author

kookma commented Sep 9, 2019

Thanks for detailed explanations

  • plugin packaged. You explained them correctly and we are on same track.
  • plugin source. Thirdflow only keeps tiddlers started with $:/plugins/yourname/pluginname prefix in the same folder! If one adds tiddlers like $:/language/Buttons/Commander/Caption to plugin then it will not appear in the plugin tree under more tab/plugin source tab nor in the plugin folder so distribution will gets harder
  • the plugin.info seems mandatory see (https://tiddlywiki.com/dev/#Developing%20plugins%20using%20Node.js%20and%20GitHub). It seems the plugin.info contains data to be read if the plugin distributed as separate files under node.js

It should be mention that, Thirdflow has already simplified the plugin development a lot! These suggestions help to have Thirdflow in production in accordance with official instruction.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants