aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sx-filter.el2
-rw-r--r--sx-method.el2
-rw-r--r--sx-question-mode.el2
-rw-r--r--sx-question-print.el2
-rw-r--r--sx-question.el2
-rw-r--r--sx-request.el2
-rw-r--r--sx.org69
7 files changed, 71 insertions, 10 deletions
diff --git a/sx-filter.el b/sx-filter.el
index 38084b9..8c00c12 100644
--- a/sx-filter.el
+++ b/sx-filter.el
@@ -1,4 +1,4 @@
-;;; sx-filter.el --- filters -*- lexical-binding: t; -*-
+;;; sx-filter.el --- Handles retrieval of filters. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Sean Allred
diff --git a/sx-method.el b/sx-method.el
index 83455b8..5646772 100644
--- a/sx-method.el
+++ b/sx-method.el
@@ -1,4 +1,4 @@
-;;; sx-method.el --- method calls
+;;; sx-method.el --- Main interface for API method calls. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Sean Allred
diff --git a/sx-question-mode.el b/sx-question-mode.el
index bccb658..ccd9433 100644
--- a/sx-question-mode.el
+++ b/sx-question-mode.el
@@ -1,4 +1,4 @@
-;;; sx-question-mode.el --- Creating the buffer that displays questions
+;;; sx-question-mode.el --- Major-mode for displaying a question. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Artur Malabarba
diff --git a/sx-question-print.el b/sx-question-print.el
index eb79a7a..2a0a035 100644
--- a/sx-question-print.el
+++ b/sx-question-print.el
@@ -1,4 +1,4 @@
-;;; sx-question-print.el --- Populating the question-mode buffer with content.
+;;; sx-question-print.el --- Populating the question-mode buffer with content. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Artur Malabarba
diff --git a/sx-question.el b/sx-question.el
index c4b2445..fea8978 100644
--- a/sx-question.el
+++ b/sx-question.el
@@ -1,4 +1,4 @@
-;;; sx-question.el --- question logic
+;;; sx-question.el --- Base question logic. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Sean Allred
diff --git a/sx-request.el b/sx-request.el
index 0994fbd..a17a982 100644
--- a/sx-request.el
+++ b/sx-request.el
@@ -1,4 +1,4 @@
-;;; sx-request.el --- requests and url manipulation -*- lexical-binding: t; -*-
+;;; sx-request.el --- Requests and url manipulation. -*- lexical-binding: t; -*-
;; Copyright (C) 2014 Sean Allred
diff --git a/sx.org b/sx.org
index f866aa5..78bc5da 100644
--- a/sx.org
+++ b/sx.org
@@ -67,7 +67,8 @@ a cache file.
** Browsing Questions
To browse a list of questions retrieved from the site, use
~sx-tab-frontpage~. This queries for a site, pulls the first page of
-questions for that site, and displays them in a list.
+questions for that site, and displays them in a list. Alternatively,
+use any of the other ~sx-tab-~ commands.
- Refresh the page with =g= or by scrolling past the top.
- Use =n=, =p=, =N=, =P= to navigate without viewing the question.
@@ -86,8 +87,27 @@ Scrolling past the bottom of the list fetches more questions.
# used only by contributors.
- ~sx-init-hook~ :: Run when ~sx-initialize~ is called.
+- ~sx-compose-before-send-hook~ :: Run before POSTing to the API from
+ a buffer in ~sx-compose-mode~. If any of the functions in this
+ hook, return nil, the transaction is cancelled.
+- ~sx-compose-after-send-functions~ :: Run after POSTing to the API
+ from a buffer in ~sx-compose-mode~, if the transaction was
+ successful.
* Contributing
+Contributions, be them to the code or to this document, are very much
+welcome. Both of these can be found at [[github.com/vermiculus/sx.el][the GitHub repository]]. The
+easiest way to contribute is to clone it, make your changes, and
+submit a pull request. If you prefer, you can also email a patch of
+your changes to one of the authors or maintainers listed in the header
+comments. But please, when you do, heed the following conventions.
+
+1. Contributions to the code which change or add user-facing
+ functionality should be accompanied by updates to this document.
+2. Both in code and in this document, sentences should end in double
+ space.
+
+** Contributing to this Document
This document is maintained in Org format. Updates to the source code
should be accompanied by updates to this document when user-facing
functionality is changed.
@@ -95,7 +115,7 @@ functionality is changed.
Note that some distinctions are made which may not be apparent when
viewing the document with Info.
-** Markup Conventions
+*** Markup Conventions
Markup is used consistently as follows:
- packages :: =package.el=
@@ -108,7 +128,7 @@ To make the Info export readable, lists and source code blocks are
separated from body text with a blank line (as to start a new
paragraph).
-** Document Attributes
+*** Document Attributes
Attributes should be given in uppercase:
#+BEGIN_SRC org
@@ -117,11 +137,52 @@ Attributes should be given in uppercase:
,#+END_SRC
#+END_SRC
-** Source Code Blocks
+*** Source Code Blocks
The language for Emacs Lisp source code blocks should be given as
=elisp= and its content should be indented by two spaces. See
~org-edit-src-content-indentation~.
+** Contributing to the Code
+Contributing to the code should be fairly straightforward. Each file
+has a descriptive header explaining its purpose. Still, to help you
+find your way around, we describe below the current project
+structure. This list is very loosely ordered form low to high-level.
+
+- ~sx.el~ - Utility functions used throughout the package. Essentially
+ every file indirectly requires this one. If you're adding a function
+ that's used by different parts of the package, add it to this file.
+- ~sx-time.el~ - Similar to ~sx.el~, but only contains a few
+ time-related functions.
+- ~sx-filter.el~ - Handles retrieval of filters.
+- ~sx-cache.el~ - Saves and restores persistent data between sessions.
+- ~sx-button.el~ - Defines all button types used throughout the
+ package. Currently used only by ~sx-question-print.el~.
+
+- ~sx-request.el~ - Requests and url manipulation. Backend used by
+ ~sx-method.el~. It shouldn't be necessary to use the functions in
+ this file outside ~sx-method.el~.
+- ~sx-method.el~ - Main interface for API method calls.
+
+- ~sx-favorites.el~ - Starred questions.
+- ~sx-networks.el~ - User network information.
+- ~sx-site.el~ - Browsing sites.
+- ~sx-auth.el~ - Handles user authentication.
+
+- ~sx-question.el~ - Base question logic. Holds several functions for
+ retrieving questions and for processing retrieved questions. Doesn't
+ do any sort of user interface, that is left for
+ ~sx-question-list.el~ and ~sx-question-mode.el~.
+- ~sx-question-list.el~ - Major-mode for navigating questions list.
+- ~sx-question-mode.el~ - User interface for displaying a
+ question. Creates the buffer and defines the major-mode.
+- ~sx-question-print.el~ - Populating the question buffer with
+ content. Used by ~sx-question-mode.el~ to actually print the content
+ of a question.
+
+- ~sx-compose.el~ - Major-mode for composing questions and answers.
+- ~sx-interaction.el~ - Voting, commenting, and otherwise interacting with questions.
+- ~sx-tab.el~ - Functions for viewing different tabs.
+
* COMMENT Local Variables
# LocalWords: StackExchange SX inbox sx API url json inline Org
# LocalWords: Markup keybinding keybindings customizability webpage