Add a little app to list apps.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3712 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
Cory McWilliams 2021-12-28 17:48:21 +00:00
parent 263a59f6c5
commit f676cd937f
4 changed files with 39 additions and 0 deletions

1
apps/cory/apps.json Normal file
View File

@ -0,0 +1 @@
{"type":"tildefriends-app","files":{"app.js":"&8DbkWJq+bDlPNGZGVWrlVyMzo+weV5GBfcleQSjIPjI=.sha256"}}

24
apps/cory/apps/app.js Normal file
View File

@ -0,0 +1,24 @@
async function main() {
var apps = await core.apps();
var doc = `<!DOCTYPE html>
<html>
<body style="background: #888">
<h1>Apps</h1>
<ul id="apps"></ul>
</body>
<script>
var apps = ${JSON.stringify(apps)};
for (let app of Object.keys(apps)) {
var li = document.getElementById('apps').appendChild(document.createElement('li'));
var a = document.createElement('a');
a.innerText = app;
a.href = '../' + app;
a.target = '_top';
li.appendChild(a);
}
</script>
</html>`
app.setDocument(doc);
}
main();

View File

@ -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",
};

View File

@ -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);