README.md in friends-0.19 vs README.md in friends-0.20
- old
+ new
@@ -15,10 +15,11 @@
- [Syncing across multiple machines](#syncing-across-multiple-machines)
- [Command reference](#command-reference)
- `add`
- [`add activity`](#add-activity)
- [`add friend`](#add-friend)
+ - [`add hashtag`](#add-hashtag)
- [`add location`](#add-location)
- [`add nickname`](#add-nickname)
- [`clean`](#clean)
- [`graph`](#graph)
- [`help`](#help)
@@ -26,12 +27,15 @@
- [`list activities`](#list-activities)
- `list favorite`
- [`list favorite friends`](#list-favorite-friends)
- [`list favorite locations`](#list-favorite-locations)
- [`list friends`](#list-friends)
+ - [`list hashtags`](#list-hashtags)
- [`list locations`](#list-locations)
- - [`remove nickname`](#remove-nickname)
+ - `remove`
+ - [`remove hashtag`](#remove-hashtag)
+ - [`remove nickname`](#remove-nickname)
- `rename`
- [`rename friend`](#rename-friend)
- [`rename location`](#rename-location)
- [`set location`](#set)
- [`stats`](#stats)
@@ -81,14 +85,18 @@
### Core concepts
`friends` is structured around several different types of things:
- **Activities**: The things you do. Each activity has a date associated with
- it.
+ it. Activities may optionally contain any number of *friends*, *locations*,
+ and *hashtags*.
- **Friends**: The people you do *activities* with. Each friend has a name and,
- optionally, one or several nicknames.
-- **Locations**: The places in which *activities* happen.
+ optionally, one or several nicknames. (Examples: `John`, `Grace Hopper`)
+- **Locations**: The places in which *activities* happen. (Examples: `Paris`,
+ `Marie's Diner`)
+- **Hashtags**: A way to categorize your *activities* with tags of your
+ choosing. (Examples: `#exercise`, `#concert`)
The `friends.md` Markdown file that stores all of your data contains:
- an alphabetical list of all locations:
@@ -210,10 +218,18 @@
```bash
$ friends add activity "Went swimming near atlantis with George."
Activity added: "2016-01-06: Went swimming near Atlantis with George Washington Carver."
```
+Hashtags will be colored if they're provided (though this README can't display
+color so you'll just have to have faith here):
+
+```bash
+$ friends add activity "The office softball team wins a game! #work #exercise"
+Activity added: "2016-05-05: The office softball team wins a game! #work #exercise"
+```
+
You can of course specify a date for the activity:
```bash
$ friends add activity "Yesterday: Celebrated the new year with Marie."
Activity added: "2014-12-31: Celebrated the new year with Marie Curie."
@@ -245,10 +261,17 @@
```bash
$ friends add friend "Grace Hopper"
Friend added: "Grace Hopper"
```
+#### `add hashtag`
+
+```bash
+$ friends add hashtag "Grace Hopper" science
+Hashtag added to friend: "Grace Hopper #science
+```
+
#### `add location`
```
$ friends add location Atlantis
Location added: "Atlantis"
@@ -348,38 +371,52 @@
Lists recent activities:
```bash
$ friends list activities
-2015-01-04: Got lunch with Grace Hopper and George Washington Carver.
-2014-12-31: Celebrated the new year with Marie Curie in New York City.
+2015-01-04: Got lunch with Grace Hopper and George Washington Carver. #food
+2014-12-31: Celebrated the new year with Marie Curie in New York City. #partying
2014-11-15: Talked to George Washington Carver on the phone for an hour.
```
You can adjust how many activities are shown:
```bash
$ friends list activities --limit 2
-2015-01-04: Got lunch with Grace Hopper and George Washington Carver.
-2014-12-31: Celebrated the new year with Marie Curie in New York City.
+2015-01-04: Got lunch with Grace Hopper and George Washington Carver. #food
+2014-12-31: Celebrated the new year with Marie Curie in New York City. #partying
```
Or only list the activities you did with a certain friend:
```bash
-$ friends list activities --with "George"
-2015-01-04: Got lunch with Grace Hopper and George Washington Carver.
+$ friends list activities --with George
+2015-01-04: Got lunch with Grace Hopper and George Washington Carver. #food
2014-11-15: Talked to George Washington Carver on the phone for an hour.
```
Or filter your activities by location:
```bash
$ friends list activities --in "New York"
-2014-12-31: Celebrated the new year with Marie Curie in New York City.
+2014-12-31: Celebrated the new year with Marie Curie in New York City. #partying
```
+Or by hashtag:
+
+```bash
+$ friends list activities --tagged food
+2015-01-04: Got lunch with Grace Hopper and George Washington Carver. #food
+```
+
+And you can mix and match these options to your heart's content:
+
+```bash
+$ friends list activities --tagged food --with Grace
+2015-01-04: Got lunch with Grace Hopper and George Washington Carver. #food
+```
+
#### `list favorite friends`
Lists your "favorite" friends (by total number of activities):
```bash
@@ -420,34 +457,89 @@
2. Paris (1)
```
#### `list friends`
-Lists all of your friends:
+Lists all of your friends in alphabetical order:
```bash
$ friends list friends
George Washington Carver
Grace Hopper
Marie Curie
```
+You can also include friend nicknames, locations, and hashtags:
+
+```bash
+$ friends list friends --verbose
+George Washington Carver
+Grace Hopper (a.k.a. The Admiral a.k.a. Amazing Grace) [Paris] #navy #science
+Marie Curie [Atlantis] #science
+```
+
You can filter your friends by location:
```bash
$ friends list friends --in Paris
Marie Curie
```
+And you can also filter your friends by hashtag:
+
+```bash
+$ friends list friends --tagged science
+Grace Hopper
+Marie Curie
+```
+
+#### `list hashtags`
+
+Lists all hashtags you've used, in alphabetical order:
+
+```bash
+$ friends list hashtags
+#dancing
+#food
+#school
+#swanky
+```
+
+You can limit this to only hashtags from activities:
+
+```bash
+$ friends list hashtags --from activities
+#dancing
+#food
+#swanky
+```
+
+Or only hashtags from friends:
+
+```bash
+$ friends list hashtags --from friends
+#school
+#swanky
+```
+
#### `list locations`
-Lists all of the locations you've added:
+Lists all of the locations you've added, in alphabetical order::
```
$ friends list locations
Atlantis
New York City
Paris
+```
+
+#### `remove hashtag`
+
+Removes a specific hashtag from a friend:
+
+```bash
+$ friends remove hashtag "Grace Hopper" fun
+Hashtag removed from friend: "Grace Hopper (a.k.a. Amazing Grace) #OtherHashtag"
```
#### `remove nickname`
Removes a specific nickname from a friend: