diff --git a/apps/cory/apps.json b/apps/cory/apps.json new file mode 100644 index 00000000..2e29215d --- /dev/null +++ b/apps/cory/apps.json @@ -0,0 +1 @@ +{"type":"tildefriends-app","files":{"app.js":"&8DbkWJq+bDlPNGZGVWrlVyMzo+weV5GBfcleQSjIPjI=.sha256"}} \ No newline at end of file diff --git a/apps/cory/apps/app.js b/apps/cory/apps/app.js new file mode 100644 index 00000000..4181e70f --- /dev/null +++ b/apps/cory/apps/app.js @@ -0,0 +1,24 @@ +async function main() { + var apps = await core.apps(); + var doc = ` + + +

Apps

+ + + +` + app.setDocument(doc); +} + +main(); \ No newline at end of file diff --git a/src/main.c b/src/main.c index da387fec..bae46cb0 100644 --- a/src/main.c +++ b/src/main.c @@ -273,6 +273,7 @@ static int _tf_command_export(const char* file, int argc, char* argv[]) else { const char* k_export[] = { + "/~cory/apps", "/~cory/index", "/~cory/docs", }; diff --git a/src/ssb.export.c b/src/ssb.export.c index b241b7d1..00305209 100644 --- a/src/ssb.export.c +++ b/src/ssb.export.c @@ -22,6 +22,14 @@ static void _write_file(const char* path, void* blob, size_t size) } } +static void _make_dir(const char* path) +{ + if (mkdir(path, 0755) && errno != EEXIST) + { + printf("Failed to create directory %s: %s.\n", path, strerror(errno)); + } +} + void tf_ssb_export(tf_ssb_t* ssb, const char* key) { char user[256] = { 0 }; @@ -66,6 +74,11 @@ void tf_ssb_export(tf_ssb_t* ssb, const char* key) return; } char file_path[1024]; + _make_dir("apps/"); + snprintf(file_path, sizeof(file_path), "apps/%s", user); + _make_dir(file_path); + snprintf(file_path, sizeof(file_path), "apps/%s/%s", user, path); + _make_dir(file_path); snprintf(file_path, sizeof(file_path), "apps/%s/%s.json", user, path); _write_file(file_path, blob, size); JSContext* context = tf_ssb_get_context(ssb);