All Projects → changkun → changkun-blog-clients

changkun / changkun-blog-clients

Licence: MIT License
Changkun's Blog Desktop&Mobile Client

Programming Languages

javascript
184084 projects - #8 most used programming language
objective c
16641 projects - #2 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
java
68154 projects - #9 most used programming language
HTML
75241 projects

logo

Changkun's Blog Clients

Changkun's Blog Desktop&Mobile Clients, powered by Electron & React Native.

Desktop Version

Desktop clients support macOS/Windows/Linux(Ubuntu) platform. If you would like to only build desktop version, the following instractions help you to build desktop clients.

To install dependencies:

npm install
# or
yarn install

To build all platform:

npm run build
# or
yarn run build

To build specific platform:

npm run build-mac       # for macOS x64
npm run build-win       # for windows x64
npm run build-linux     # for linux ubuntu x64
# or
yarn run build-mac
yarn run build-win
yarn run build-linux 

TO build release version to Github, you need provide your Github token, and change the provider and repository info in the package.json, then:

export GH_TOKEN="YOUR_TOKEN" npm run build-release

Please note that 32-bit version is not recommended, I will never support that.

Preview

Mobile Version

Mobile Version is currently in development. You could check the mobile folder for details.

Go to ./mobile/Blog, then

To install dependencies:

npm install react-native-cli -g
npm install
# or
yarn install react-native-cli -g
yarn install

To run for iOS:

react-native run-ios

To run for Android:

react-native run-android

Preview

TODO

Server Side API Design

At present, mobile version requires the API generate from hexo-generator-restful, which gives bad API design, we need reimplement it.

  • posts.json, posts.data contains post object array, the post object contains:
    • title: article title
    • excerpt: article excerpt, if exists
    • cover: article image cover, if exists
    • date: article publish date, format: YYYY-MM-DD
    • tags: tag array, maximum to 3
    • path: path to access article itself
  • tags.json, contains tag objects array, tag object contains:
    • name: tag name
    • path: article with the tag
    • count: article statistic
    • api/tags/.json
      • tag.postlist contains post objects as an array
  • about.json
    • this improves hexo-generator-restful

Client Side Design

  • Pull-down & pull-up refresh for ListView component
  • Markdown Post page component
  • Post cell navigator
  • Local data persistent --> local cache
  • Tags Cloud page
  • Tags Cloud page navigator
  • Local data fuzzy search
  • About page component
  • Comments enable
  • Dark Mode
  • Internationalization
  • Android Support

License

Copyright © 2016 Changkun Ou. All rights reserved.

The code is distributed under the MIT license. See LICENSE in this directory for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].