mirror of
https://github.com/rhysd/Mstdn.git
synced 2024-11-28 20:24:10 +01: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…
Reference in New Issue
Block a user