File: hib-social.el.html
This defines an implicit button type, social-reference, that displays
information (often a web page) associated with the given hashtag or username.
When the referent is a web page, this calls the function given by
hibtypes-social-display-function to display it, initially set to browse-url.
A hashtag reference is either: [facebook|github|gitlab|git|instagram|twitter|x]#<hashtag>
or using 1 to 2-letter service abbreviations: [fb|gh|gl|gt|in|tw|x]#<hashtag>.
A username reference is either: [facebook|github|gitlab|instagram|twitter|x]@<username>
or [fb|gh|gl|in|tw|x]@<username>.
If the social media service is not given, it defaults to the value of
hibtypes-social-default-service, initially set to \"x\\".
Below are a list of examples; simply press the Action Key on each one
to test it; use the Assist Key to see what it will do. The git
examples require that you have a local git clone of the Hyperbole
repository.
facebook@zuck Display user's home page
github@rswgnu
gitlab@seriyalexandrov
instagram@lostart
x@nytimestravel
fb#technology Display page of hashtag matches
in#art
x#travel
Git (local) reference links
git#branches List branches in current repo/project
git#commits List and browse commits for current project
git#tags List tags in current project
git#/hyperbole From any buffer, dired on the top
directory of the local hyperbole
project (notice no =)
git#/hyperbole/55a1f0 or From any buffer, display hyperbole
git#hyperbole/55a1f0 local git commit diff
git#55a1f0 Based on current default-directory,
display current repo's local git
commit diff; works when default-directory
is inside a git project with commit
hashtag 55a1f0
commit 55a1f0 Commits listed in 'git log' output
also display diffs.
(setq hibtypes-git-default-project "hyperbole")
git#55a1f0 From any buffer, once the above default
is set, display current project's local
git commit diff
git#master Show latest commit entry and diff for branch
git#hyperbole-7.0.0 From any buffer, show the commit diff
for tag hyperbole-7.0.0
When you want to be more explicit, use:
git#commit/55a1f0
git#branch/master
git#tag/hyperbole-7.0.0
To edit and view git managed files (note the =):
git#=hibtypes.el Edit any local git-versioned file
in another window; file must match
to the last part of a pathname
git#=partial-path/file
git#=/path/file Both work, constraining the lookup more.
git#=hyperbole.pdf Typically displays Hyperbole manual
in an external viewer
git#=master:hyperbole.el View a file or other entity from a specific branch
git#=master:kotl/kview.el View a branch file located in a project subdirectory
Github (remote) reference links
gh@rswgnu Display user's home page & projects
github#rswgnu/hyperbole Display user's project
gh#rswgnu/helm/global_mouse Display user project's branch
gh#rswgnu/hyperbole/55a1f0 Display user project's commit diff
gh#orgs/github/people (or staff) List the org, github's staff
gh#/github/fetch/contributors List contributors to github's fetch project
(setq hibtypes-github-default-user "rswgnu")
github#/hyperbole Display default user's project
Once you set the default user and project variables, you can leave
them off any reference links:
(setq hibtypes-github-default-user "emacs-helm")
(setq hibtypes-github-default-project "helm")
like so:
gh#pulls List project's open pull requests (PRs)
gh#pull/1871 Display a specific project pull request
gh#issues List emacs-helm/helm's open issues
gh#1878 Display a specific project issue (or PR)
gh#branches List project's branches
gh#branch/global_mouse List files in a specific branch
gh#global_mouse You can even leave off the branch keyword
gh#tags List project's tagged commits, typically releases
gh#tag/v2.8.4 or gh#v2.8.4 List files in a specific tagged commit
gh#commits List project's commits
gh#898e55c Display default user and default
project commit diff
Gitlab (remote) reference links support the same reference types as Github (but
substitute the gl# prefix) plus these additional reference types:
gl#/libertybsd/libertybsd-status Group and project
gl#gitlab-org/gitlab-ce/activity Summarize user's project activity
gl#gitlab-org/gitlab-ce/analytics Display user project's cycle_analytics
gl#gitlab-org/gitlab-ce/boards Display user project's kanban-type issue boards
Once you set the default user and project variables, you can leave
them off any reference links:
(setq hibtypes-gitlab-default-user "gitlab-org")
(setq hibtypes-gitlab-default-project "gitlab-ce")
gl#issues or gl#list Display default project's issue list
gl#jobs Display default project's computing jobs
gl#labels Display default project's issue categories
gl#members Display default project's staff list
gl#contributors Show contributor push frequency charts
gl#merge_requests or gl#pulls Display default project's pull requests
gl#milestones Display default project's milestones status
gl#pages Display default project's web pages
gl#pipelines List build and test sequences
gl#pipeline_charts Graphical view of pipeline run results across time
gl#schedules Display schedules for project pipelines
gl#snippets Project snippets, diffs and text with discussion
gl#groups List all available groups of projects
gl#projects List all available projects
gl#milestone=38 Show a specific project milestone
gl#snippet=1689487 Show a specific project snippet
Defined variables (13)
hibtypes-git-default-project | Default project name to associate with any local git commit link. |
hibtypes-git-repos-cache | Filename of cache of local git repository directories found by ‘locate-command’. |
hibtypes-git-use-magit-flag | Non-nil means use ‘magit’ rather than ‘dired’ for a git directory button. |
hibtypes-github-default-project | Default project name to associate with any Github commit link. |
hibtypes-github-default-user | Default user name to associate with any Github commit link. |
hibtypes-gitlab-default-project | Default project name to associate with any Github commit link. |
hibtypes-gitlab-default-user | Default user name to associate with any Github commit link. |
hibtypes-social-default-service | Lowercase string matching the social media service to use as a default. |
hibtypes-social-display-function | Function of one arg, url, to display when activating a social media reference. |
hibtypes-social-hashtag-alist | Alist of (social-media-service-regexp . to-display-hashtag-reference) elements. |
hibtypes-social-inhibit-modes | List of major modes in which to inhibit any possible social media tag matches. |
hibtypes-social-regexp | Regexp that matches a social media/git hashtag or username reference. |
hibtypes-social-username-alist | Alist of (social-media-service-regexp . url-with-%s-for-username) elements. |
Defined functions (12)
git-find-file | (FILE) |
git-reference | (REFERENCE &optional PROJECT) |
gitlab-reference | (REFERENCE &optional USER PROJECT) |
hibtypes-git-add-project-to-repos-cache | (PROJECT) |
hibtypes-git-build-or-add-to-repos-cache | (PROJECT) |
hibtypes-git-build-repos-cache | (&optional PROMPT-FLAG) |
hibtypes-git-find | (FILE) |
hibtypes-git-find-execute | (FORMAT-PREFIX FIND-DIR FILE) |
hibtypes-git-get-locate-command | () |
hibtypes-git-project-directory | (PROJECT) |
ibtypes::git-commit-reference | () |
social-reference | (SERVICE REF-KIND-STR HASHTAG-OR-USERNAME) |