ClippingKK

Organize, Review, Preach, Be the Peoples

Reading books

刘擎西方现代思想讲义

刘擎

被讨厌的勇气

岸见一郎 古贺史健

用得上的哲学

徐英瑾

故事

[美]罗伯特·麦基

乌合之众

[法] 居斯塔夫·勒庞

优秀的绵羊

[美] 威廉·德雷谢维奇

高效能人士的七个习惯(精华版)

[美] 史蒂芬·柯维

哈佛最受欢迎的营销课

扬米·穆恩

ReadersDue to privacy issues, users’ book clippings are not displayed

    lawyer_riclawyer_ric
    cbrcbr
    fengyukongzhoufengyukongzhou
    oyasimioyasimi
    AnnatarHeAnnatarHe

Feature List

我在想:“什么是地狱?”我认为,地狱就是“再也不能爱”这样的痛苦

—— 《卡拉马佐夫兄弟》 [俄]费奥多尔·陀思妥耶夫斯基

AnnatarHe 摘录于

Web Widget

click `copy embed html` in detail page

Modern

Web arch

Arch

The Modern software architecture used in this app
extern crate ck_cli;
use serde_json;
use std::{env, fs};
use std::fs::File;
use std::io::prelude::*;
#[test]
fn parse_en_file() {
let file_name = "clippings_en";
let mut current_dir = env::current_dir().unwrap();
current_dir.push("fixtures");
let mut src_en_file = current_dir.clone();
src_en_file.push(format!("{}.txt", file_name));
let mut f = File::open(src_en_file).unwrap();
let mut result = String::new();
f.read_to_string(&mut result).unwrap();
let mut parsed_data = ck_cli::CKParser::do_parse(&result).unwrap();
let mut result_en_file = current_dir.clone();
result_en_file.push(format!("{}.result.json", file_name));
let mut r = File::open(result_en_file).unwrap();
let mut expected_json = String::new();
r.read_to_string(&mut expected_json).unwrap();
let mut expected_struct: Vec<ck_cli::CKParser::TClippingItem> =
serde_json::from_str(&expected_json).unwrap();
parsed_data.sort_by(|a, b| a.content.cmp(&b.content));
expected_struct.sort_by(|a, b| a.content.cmp(&b.content));
let ss = serde_json::to_string(&parsed_data).unwrap();
let dd = serde_json::to_string(&expected_struct).unwrap();
assert_eq!(ss, dd)
}

Code

Testable, maintainable stable code

Sense

Privacy

iOS Widget

we offer iOS widget to display your clippings in home screen

Privacy

we really care about your privacy. So you have option to hide some clippings you highlighted
Privacy
👍

Comminicate

You can leave some deep comments here and comminicate with each other

Make Reading Greate Aagain

ios
android
wechat mini program
ios
Go!
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
undefined: TypeError
500: ServerError
[500]: record not found
undefined: TypeError
undefined: TypeError
undefined: TypeError