diff --git a/Evergreen/MainWindow/MainWindowController.swift b/Evergreen/MainWindow/MainWindowController.swift
index 23abc1e58..f77b8427a 100644
--- a/Evergreen/MainWindow/MainWindowController.swift
+++ b/Evergreen/MainWindow/MainWindowController.swift
@@ -162,23 +162,39 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations {
openArticleInBrowser(sender)
}
+ func makeTimelineViewFirstResponder() {
+
+ guard let window = window, let timelineViewController = timelineViewController else {
+ return
+ }
+ window.makeFirstResponderUnlessDescendantIsFirstResponder(timelineViewController.tableView)
+ }
+
@IBAction func nextUnread(_ sender: Any?) {
guard let timelineViewController = timelineViewController, let sidebarViewController = sidebarViewController else {
return
}
- func makeTimelineViewFirstResponder() {
-
- window!.makeFirstResponderUnlessDescendantIsFirstResponder(timelineViewController.tableView)
- }
-
if timelineViewController.canGoToNextUnread() {
- timelineViewController.goToNextUnread()
- makeTimelineViewFirstResponder()
+ goToNextUnreadInTimeline()
}
else if sidebarViewController.canGoToNextUnread() {
sidebarViewController.goToNextUnread()
+ if timelineViewController.canGoToNextUnread() {
+ goToNextUnreadInTimeline()
+ }
+ }
+ }
+
+ func goToNextUnreadInTimeline() {
+
+ guard let timelineViewController = timelineViewController else {
+ return
+ }
+
+ if timelineViewController.canGoToNextUnread() {
+ timelineViewController.goToNextUnread()
makeTimelineViewFirstResponder()
}
}
diff --git a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
index f1fd30060..cf369440e 100644
--- a/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
+++ b/Evergreen/MainWindow/Sidebar/SidebarViewController.swift
@@ -151,8 +151,6 @@ import RSCore
}
outlineView.selectRowIndexes(IndexSet([row]), byExtendingSelection: false)
-
- NSApplication.shared.sendAction(NSSelectorFromString("nextUnread:"), to: nil, from: self)
}
func focus() {
diff --git a/README.md b/README.md
index 86a8b8d70..58dfd88c0 100644
--- a/README.md
+++ b/README.md
@@ -7,3 +7,15 @@ It supports [RSS](http://cyber.harvard.edu/rss/rss.html), [Atom](https://tools.i
It’s barely usable at this point. Barely. Probably not even. A whole bunch of things haven’t been done yet. (See the [bug tracker](https://github.com/brentsimmons/Evergreen/milestone/1)).
More info: [https://ranchero.com/evergreen/](https://ranchero.com/evergreen/)
+
+Also see the [Technotes](Technotes/) and the [Roadmap](Technotes/Roadmap.md).
+
+#### On accepting pull requests
+
+It’s pretty early still, and we have strong opinions about how we want to do things, so we’re not seeking help just yet.
+
+That said, we will seriously consider any pull requests we do get. Just note that we may not accept them, or we may accept them and do a bunch of revision.
+
+It’s probably a good idea to let us know first what you’d like to do. ([Ask on Twitter](https://twitter.com/evergreen_mac), or email brent@ranchero.com, or post something to the [bug tracker](https://github.com/brentsimmons/Evergreen/issues).)
+
+In the future — some time after 1.0 ships — we expect to want contributions. The plan is *not* to make this a one-person show forever.
diff --git a/Technotes/DevelopmentAlphaBeta.md b/Technotes/DevelopmentAlphaBeta.md
new file mode 100644
index 000000000..d2298f53c
--- /dev/null
+++ b/Technotes/DevelopmentAlphaBeta.md
@@ -0,0 +1,28 @@
+# What Development, Alpha, Beta, and Final Mean for Evergreen
+
+#### Development version
+
+Is not feature-complete, is full of bugs, may not be at all stable, and is liable to change wildly at any minute.
+
+#### Alpha
+
+The app reaches alpha when:
+
+* It’s feature-complete
+* Has no known bugs
+
+During the alpha period, the app is tested thoroughly. More tests are written. As many people as possible use the app and report bugs.
+
+#### Beta
+
+The app reaches beta when all bugs found during alpha testing are fixed and there are no known bugs. The app is believed to be in ship-shape.
+
+More testing, however, is a good idea.
+
+The code is considered frozen except for bug fixes, and any bug fixes are done with extreme care and the lightest possible touch.
+
+#### Final
+
+The app reaches final when the developers are confident that it’s ready to ship. It works as designed, has no known bugs, doesn’t crash, and is fast.
+
+(Note: “no known bugs” is meant extremely seriously. That said, sometimes there are ambiguous weird cases that can’t be reproduced, and so there are exceptions to this rule. But we pretend most strenuously that that isn’t true. In fact, pretend you never read this paragraph, and we’ll pretend we never wrote it.)
\ No newline at end of file
diff --git a/Technotes/QuestionsAnswered.md b/Technotes/QuestionsAnswered.md
new file mode 100644
index 000000000..6588642f4
--- /dev/null
+++ b/Technotes/QuestionsAnswered.md
@@ -0,0 +1,11 @@
+# Questions Answered
+
+#### How do I delete a feed?
+
+Select it in the sidebar, then hit the Delete key. Or choose Edit > Delete from the menubar.
+
+Note: you can delete multiple feeds, and you can delete folders. You can also undo if you change your mind.
+
+#### Why does Evergreen require the latest macOS?
+
+Since Evergreen is a nights-and-weekends project, we don’t have enough time to run and test on older versions of macOS. Most of the time it will require the most recent macOS.
diff --git a/Technotes/README.md b/Technotes/README.md
index 9d820511c..db70507e6 100644
--- a/Technotes/README.md
+++ b/Technotes/README.md
@@ -1,9 +1,15 @@
# TechNotes
+[Roadmap](Roadmap.md)
+
## How To
[How to Restore to Factory Settings](RestoreToFactory.md)
## Notes
+[What Development, Alpha, Beta, and Final Mean for Evergreen](DevelopmentAlphaBeta.md)
+
[Hidden Preferences](HiddenPrefs.md)
+
+[Questions Answered](QuestionsAnswered.md)
diff --git a/Technotes/Roadmap.md b/Technotes/Roadmap.md
new file mode 100644
index 000000000..4fb22f8b3
--- /dev/null
+++ b/Technotes/Roadmap.md
@@ -0,0 +1,65 @@
+# Roadmap
+
+Updated Dec. 23, 2017
+
+This roadmap reflects thinking at the time of the last update. Anything can change at any time.
+
+## Evergreen 1.0 for macOS
+
+Ship: March 26, 2018 (we hope!)
+
+Features:
+
+* Standalone feed reading (unsynced)
+* Syncing via FeedBin
+* Built-in smart feeds (today, starred, all unread)
+* Searching
+* Starring
+* Keyboard shortcuts
+* Multiple windows
+* Feed Directory
+* AppleScript support
+* Inspector
+* Gestures
+* Notifications
+* Sharing
+* Share extension
+* Feed and user avatars
+* Microblog full-post rendering in the timeline
+* Thumbnail images in the timeline
+
+Milestones:
+
+[Evergreen 1.0 alpha](https://github.com/brentsimmons/Evergreen/milestone/1)
+[Evergreen 1.0 beta](https://github.com/brentsimmons/Evergreen/milestone/2)
+[Evergreen 1.0](https://github.com/brentsimmons/Evergreen/milestone/3)
+
+(See [What Development, Alpha, Beta, and Final Mean for Evergreen](DevelopmentAlphaBeta.md) for definitions.)
+
+## Evergreen 2.0 for macOS
+
+Ship: March 26, 2019 (seems unlikely)
+
+Features:
+
+* Syncing via Feedly and other similar systems — not yet decided which ones exactly
+* Syncing via CloudKit (maaaaaybe, if feasible)
+* Smart feeds — edit and create
+* Filters that run during refresh
+* Scripted feeds (AppleScript and shell/Ruby/etc.)
+* Hiding read subscriptions
+* Hiding read articles
+* Deleting articles
+* [Dark mode](https://github.com/brentsimmons/Evergreen/issues/97)
+* Dinosaurs
+* Dock menu items
+* [Article themes](https://github.com/brentsimmons/Evergreen/issues/257)
+* Back/forward commands
+* [Article view zooming](https://github.com/brentsimmons/Evergreen/issues/38)
+* [Import OPML from URL](https://github.com/brentsimmons/Evergreen/issues/136)
+
+Milestones:
+
+[Evergreen 2.0 alpha](https://github.com/brentsimmons/Evergreen/milestone/4)
+[Evergreen 2.0 beta](https://github.com/brentsimmons/Evergreen/milestone/5)
+[Evergreen 2.0](https://github.com/brentsimmons/Evergreen/milestone/6)
diff --git a/website/pages/index.markdown b/website/pages/index.markdown
index a893039e3..719a5b2e5 100644
--- a/website/pages/index.markdown
+++ b/website/pages/index.markdown
@@ -1,18 +1,17 @@
@title Evergreen
-Evergreen is an open source, productivity-style feed reader for Macs.
+Evergreen is a free and open source feed reader for macOS.
It’s at a very early stage — we use it, but we don’t expect other people to use it yet.
Nevertheless, you can:
-Download the latest build
-
-Report bugs and make feature requests
-
-Checkout the code
-
-Also note: [Evergreen has its own blog](https://ranchero.com/evergreen/blog/). (The blog is one of the default feeds in Evergreen.)
+