create account

VueWiki - Integrating Vue.js with Tiddlywiki by elguille

View this thread on: hive.blogpeakd.comecency.com
· @elguille ·
$50.67
VueWiki - Integrating Vue.js with Tiddlywiki
### Repository
https://github.com/Guitlle/vuewiki

<div class="pull-right">

![image.png](https://ipfs.busy.org/ipfs/QmewePu3uUCS1BQrGCyEq7L9ySpXMyXHzhUvdtcgBjn8jf)


</div>

## VueWiki
### What is the project about?
This plugin integrates Tiddlywiki system with Vue.js framework. It allows you to have tiddlers of type "application/prs.vuejs" which are rendered by taking the text content as the template and the rest of the fields are bound to the Vue app. You can import external tiddlers and access their fields within the template. The binding between the tiddler store and the vue.js app is done dynamically and thus makes it necessary to work around un modifiable object properties. It includes three helper functions to help with this limitation: 

* **objectSet** - Sets a value in a object property. 
* **arrayPush** - Pushes a value to an array and updates the corresponding binding.
* **arraySplice** - Allows you to delete items from an array and insert an item if necessary.

The rationale for this project is that Tiddywiki's Wikitext syntax is limited. It is quite powerful and a good demonstration of this fact is that the tiddlywiki GUI is written in Wikitext. However, many frontend developers like me are more confortable with Vue.js and similar MVC frameworks. Wikitext is missing some features and even though Tiddlywiki team can reinvent the wheel adding features, I think the effort to integrate Vue.js is worth it. 

I have made a simple demonstration of what can be done using this simple integration with this [Phonebook app](https://rawgit.com/Guitlle/vuewiki/build/build/docs.html#Phonebook). You can also checkout the [Sample Vue Tiddler](https://rawgit.com/Guitlle/vuewiki/build/build/docs.html#Sample%20Vue%20Tiddler). Checkout the [documentation](https://rawgit.com/Guitlle/vuewiki/build/build/docs.html). 

![image.png](https://ipfs.busy.org/ipfs/QmQqUYA8wDb2hbpxcggGEbzXtSkXcnWuh9yntXDjp6vhWr)


### Technology Stack
This project is based on Tiddlywiki and Vue.js. [Uiv](https://uiv.wxsm.space/getting-started) is also included. It is a library of Vue.js components and it depends on Bootsrap 3. Uiv has been incuded to provide basic UI components and avoid as much as possible the need to write custom javascript for simple UI functionality.

### Roadmap
Next steps are:

* Import Tiddlywiki lists into the Vue.js app data. 
* Handle JSON and Indexed data tiddlers.
* Make more examples to facilitate adoption of the plugin.

### How to contribute?
Contributions are welcome. For now this project could use more examples and more generic UI components. Thus, you could contribute to Uiv directly and the latest version could be updated in this project. You can also help finding bugs and opening issues in the Github repository.

### GitHub Account
https://github.com/Guitlle
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
authorelguille
permlinkvuewiki-integrating-vue-js-with-tiddlywiki
categoryutopian-io
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["utopian-io","development","tiddlywiki","javascript"],"users":[],"links":["https://github.com/Guitlle/vuewiki","https://rawgit.com/Guitlle/vuewiki/build/build/docs.html#Phonebook","https://rawgit.com/Guitlle/vuewiki/build/build/docs.html#Sample%20Vue%20Tiddler","https://rawgit.com/Guitlle/vuewiki/build/build/docs.html","https://uiv.wxsm.space/getting-started","https://github.com/Guitlle"],"image":["https://ipfs.busy.org/ipfs/QmewePu3uUCS1BQrGCyEq7L9ySpXMyXHzhUvdtcgBjn8jf","https://ipfs.busy.org/ipfs/QmQqUYA8wDb2hbpxcggGEbzXtSkXcnWuh9yntXDjp6vhWr"]}
created2018-09-13 01:32:18
last_update2018-09-13 01:32:18
depth0
children10
last_payout2018-09-20 01:32:18
cashout_time1969-12-31 23:59:59
total_payout_value38.252 HBD
curator_payout_value12.418 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,811
author_reputation4,156,830,021,807
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,132,143
net_rshares47,651,763,259,218
author_curate_reward""
vote details (34)
@amosbastian · (edited)
$10.57
Thanks for the contribution, @elguille! Never used Tiddlywiki myself, but what you are saying about developers being more comfortable with certain packages/frameworks is definitely true, so it's good you are attending to that need. Also, including the examples in your post is great! One thing I'd like to point out is that it would be nice to include a little bit more information in your README, as it's currently pretty bare.

---


Your contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/guidelines), as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, [click here](https://review.utopian.io/result/3/1222223).

---- 
Need help? Write a ticket on https://support.utopian.io/. 
Chat with us on [Discord](https://discord.gg/uTyJkNm). 
[[utopian-moderator]](https://join.utopian.io/)
πŸ‘  , , , , , ,
properties (23)
authoramosbastian
permlinkre-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t204403552z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"users":["elguille"],"links":["https://join.utopian.io/guidelines","https://review.utopian.io/result/3/1222223","https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"}
created2018-09-13 20:44:03
last_update2018-09-13 20:45:15
depth1
children2
last_payout2018-09-20 20:44:03
cashout_time1969-12-31 23:59:59
total_payout_value8.456 HBD
curator_payout_value2.109 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length925
author_reputation174,473,586,900,705
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,212,836
net_rshares9,570,147,266,012
author_curate_reward""
vote details (7)
@elguille ·
Thanks @amosbastian. I've been using the tiddlywiki for a few months and it has helped me a lot with quick notes. You're right, I focused on the docs readme but the github readme could use some more information. 
properties (22)
authorelguille
permlinkre-amosbastian-re-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180914t015754914z
categoryutopian-io
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["utopian-io"],"users":["amosbastian."],"links":["/@amosbastian"],"image":[]}
created2018-09-14 01:57:57
last_update2018-09-14 01:57:57
depth2
children0
last_payout2018-09-21 01:57:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length212
author_reputation4,156,830,021,807
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,230,868
net_rshares0
@utopian-io ·
Thank you for your review, @amosbastian!

So far this week you've reviewed 2 contributions. Keep up the good work!
properties (22)
authorutopian-io
permlinkre-re-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t204403552z-20180918t025332z
categoryutopian-io
json_metadata"{"app": "beem/0.19.42"}"
created2018-09-18 02:53:33
last_update2018-09-18 02:53:33
depth2
children0
last_payout2018-09-25 02:53:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length114
author_reputation152,955,367,999,756
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,541,921
net_rshares0
@drsensor · (edited)
Can I use Vue component in there too? (just like vuepress :))
properties (22)
authordrsensor
permlinkre-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t045929994z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"app":"steemit/0.1"}
created2018-09-13 04:59:30
last_update2018-09-13 04:59:45
depth1
children2
last_payout2018-09-20 04:59:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length61
author_reputation17,679,210,755,117
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,144,532
net_rshares0
@elguille ·
Yes. You need to put the library in there and use it. I have already put Uiv which is a library of components.  What components do you think would be useful?
properties (22)
authorelguille
permlinkre-drsensor-re-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t051721271z
categoryutopian-io
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["utopian-io"],"users":[],"links":[],"image":[]}
created2018-09-13 05:17:21
last_update2018-09-13 05:17:21
depth2
children1
last_payout2018-09-20 05:17:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length157
author_reputation4,156,830,021,807
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,145,632
net_rshares0
@drsensor ·
Cool.
Maybe add Timezone and Countdown component πŸ€”
πŸ‘  
properties (23)
authordrsensor
permlinkre-elguille-re-drsensor-re-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t093711125z
categoryutopian-io
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["utopian-io"],"users":[],"links":[],"image":[]}
created2018-09-13 09:37:12
last_update2018-09-13 09:37:12
depth3
children0
last_payout2018-09-20 09:37:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length50
author_reputation17,679,210,755,117
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,161,726
net_rshares13,395,859,020
author_curate_reward""
vote details (1)
@steem-ua ·
#### Hi @elguille!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
**Feel free to join our [@steem-ua Discord server](https://discord.gg/KpBNYGz)**
properties (22)
authorsteem-ua
permlinkre-vuewiki-integrating-vue-js-with-tiddlywiki-20180914t102956z
categoryutopian-io
json_metadata"{"app": "beem/0.19.54"}"
created2018-09-14 10:29:57
last_update2018-09-14 10:29:57
depth1
children0
last_payout2018-09-21 10:29:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length287
author_reputation23,214,230,978,060
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,262,440
net_rshares0
@utopian-io ·
Hey, @elguille!

**Thanks for contributing on Utopian**.
We’re already looking forward to your next contribution!

**Get higher incentives and support Utopian.io!**
 Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via [SteemPlus](https://chrome.google.com/webstore/detail/steemplus/mjbkjgcplmaneajhcbegoffkedeankaj?hl=en) or [Steeditor](https://steeditor.app)).

**Want to chat? Join us on Discord https://discord.gg/h52nFrV.**

<a href='https://steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1'>Vote for Utopian Witness!</a>
πŸ‘  
properties (23)
authorutopian-io
permlinkre-vuewiki-integrating-vue-js-with-tiddlywiki-20180919t013956z
categoryutopian-io
json_metadata"{"app": "beem/0.19.42"}"
created2018-09-19 01:39:57
last_update2018-09-19 01:39:57
depth1
children1
last_payout2018-09-26 01:39:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length590
author_reputation152,955,367,999,756
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,631,913
net_rshares12,959,037,530
author_curate_reward""
vote details (1)
@elguille ·
Thanks, bot.
properties (22)
authorelguille
permlinkre-utopian-io-re-vuewiki-integrating-vue-js-with-tiddlywiki-20180919t013956z-20180919t030732551z
categoryutopian-io
json_metadata{"community":"busy","app":"busy/2.5.6","format":"markdown","tags":["utopian-io"],"users":[],"links":[],"image":[]}
created2018-09-19 03:07:33
last_update2018-09-19 03:07:33
depth2
children0
last_payout2018-09-26 03:07:33
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length12
author_reputation4,156,830,021,807
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,636,957
net_rshares0
@zeleiracordero ·
Well done, @elguille! You have a good project in hand.
πŸ‘  
properties (23)
authorzeleiracordero
permlinkre-elguille-vuewiki-integrating-vue-js-with-tiddlywiki-20180913t020924314z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"users":["elguille"],"app":"steemit/0.1"}
created2018-09-13 02:09:57
last_update2018-09-13 02:09:57
depth1
children0
last_payout2018-09-20 02:09:57
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length54
author_reputation72,547,659,545,464
root_title"VueWiki - Integrating Vue.js with Tiddlywiki"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id71,134,537
net_rshares10,920,537,244
author_curate_reward""
vote details (1)