mirror of
https://github.com/rhysd/Mstdn.git
synced 2025-04-01 19:25:32 +02:00
initial commit
This commit is contained in:
commit
c8e316dccf
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
*.js.map
|
||||||
|
/main/**/*.js
|
||||||
|
/renderer/**/*.js
|
||||||
|
/node_modules
|
||||||
|
npm-debug.log
|
||||||
|
/dist
|
||||||
|
/app
|
48
README.md
Normal file
48
README.md
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Web-based Desktop Client for [Mastodon][]
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
- Small window on your menubar (or isolated window)
|
||||||
|
- Desktop notification
|
||||||
|
- Customizable shortcut keybinds
|
||||||
|
- Multi-account
|
||||||
|
|
||||||
|
Mastodon is an open source project. So if you want to make a new UI, you can just fork the project,
|
||||||
|
implement your favorite UI and host it on your place. Then you can participate Mastodon networks from it.
|
||||||
|
|
||||||
|
However, Mastodon is a web application. So we can't go out from a browser. So this small tool
|
||||||
|
provides a way to do it.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Via [npm][]
|
||||||
|
|
||||||
|
```
|
||||||
|
$ npm install -g mstdn
|
||||||
|
$ open-mstdn-app
|
||||||
|
```
|
||||||
|
|
||||||
|
### As an isolated app
|
||||||
|
|
||||||
|
Download a package archive from [Release page][] (not yet), put unarchived app to proper place, and open it.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
To be written.
|
||||||
|
|
||||||
|
## Customization
|
||||||
|
|
||||||
|
Mstdn can be customized with JSON config file at `{app dir}/config.json`
|
||||||
|
|
||||||
|
The `{app dir}` is:
|
||||||
|
|
||||||
|
- `~/Library/Application\ Support/Mstdn` for macOS
|
||||||
|
- `~/.config/Mstdn` for Linux
|
||||||
|
- `%APPDATA%\Mstdn` for Windows.
|
||||||
|
|
||||||
|
## Multi account
|
||||||
|
|
||||||
|
[Mastodon]: https://github.com/tootsuite/mastodon
|
||||||
|
[npm]: https://www.npmjs.com/package/mstdn
|
||||||
|
[Release page]: https://github.com/rhysd/Mstdn
|
20
bin/cli.js
Executable file
20
bin/cli.js
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#! /usr/bin/env node
|
||||||
|
|
||||||
|
const child_process = require('child_process');
|
||||||
|
const path = require('path');
|
||||||
|
const electron = require('electron');
|
||||||
|
|
||||||
|
const args = [path.join(__dirname, '..')];
|
||||||
|
|
||||||
|
if (process.argv.indexOf('--version') >= 0) {
|
||||||
|
process.stdout.write(require('../package.json').version + '\n');
|
||||||
|
} else if (process.env.NODE_ENV === 'development' || process.argv.indexOf('--no-detach') !== -1) {
|
||||||
|
child_process.spawn(electron, args, {
|
||||||
|
stdio: 'inherit'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
child_process.spawn(electron, args, {
|
||||||
|
stdio: 'ignore',
|
||||||
|
detached: true
|
||||||
|
}).unref();
|
||||||
|
}
|
45
package.json
Normal file
45
package.json
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"name": "mstdn",
|
||||||
|
"productName": "Mstdn",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"description": "Tiny web-based mastodon client for your desktop",
|
||||||
|
"main": "main/index.js",
|
||||||
|
"bin": {
|
||||||
|
"open-mstdn-app": "./bin/cli.js"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/rhysd/Mstdn.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"mastodon",
|
||||||
|
"desktop",
|
||||||
|
"client",
|
||||||
|
"electron"
|
||||||
|
],
|
||||||
|
"author": "rhysd <lin90162@yahoo.co.jp>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/rhysd/Mstdn/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/rhysd/Mstdn#readme",
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/electron": "^1.4.35",
|
||||||
|
"@types/electron-window-state": "^2.0.28",
|
||||||
|
"@types/mousetrap": "^1.5.33",
|
||||||
|
"@types/node": "^7.0.12",
|
||||||
|
"electron-packager": "^8.6.0",
|
||||||
|
"npm-run-all": "^4.0.2",
|
||||||
|
"typescript": "^2.2.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"electron": "^1.6.2",
|
||||||
|
"electron-window-state": "^4.1.1",
|
||||||
|
"loglevel": "^1.4.1",
|
||||||
|
"menubar": "github:rhysd/menubar#rhysd-fixes",
|
||||||
|
"mousetrap": "^1.6.1"
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user