Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Sliim/helm-github-stars

Browse your starred repositories with Emacs helm interface
https://github.com/Sliim/helm-github-stars

emacs emacs-lisp github helm

Last synced: 2 months ago
JSON representation

Browse your starred repositories with Emacs helm interface

Awesome Lists containing this project

README

        

* Helm Github Stars

[[https://travis-ci.org/Sliim/helm-github-stars][https://secure.travis-ci.org/Sliim/helm-github-stars.png?branch=master]]
[[https://melpa.org/#/helm-github-stars][file:https://melpa.org/packages/helm-github-stars-badge.svg]]
[[https://stable.melpa.org/#/helm-github-stars][file:https://stable.melpa.org/packages/helm-github-stars-badge.svg]]

~helm-github-stars~ provides capabilities to fetch your starred repositories from github and select one for browsing.

** Requirements
- Emacs >= 24.4
- [[https://melpa.org/#/helm][Helm]] >= 1.6.8

** Installation
*** MELPA
~helm-github-stars~ is available on [[https://melpa.milkbox.net/][Melpa]]:
#+BEGIN_SRC
M-x package-install helm-github-stars
#+END_SRC

*** Manual
Drop ~helm-github-stars.el~ in your ~load-path~:
#+BEGIN_SRC elisp
(add-to-list 'load-path "/path/to/helm-github-stars")
(require 'helm-github-stars)
#+END_SRC

** Usage
To show your starred repositories:
#+BEGIN_SRC
M-x helm-github-stars
#+END_SRC

*** Setup your username
#+BEGIN_SRC elisp
(setq helm-github-stars-username "USERNAME")
#+END_SRC

*** Cache
At the first execution of ~helm-github-stars~, list of repositories is
fetched from github and saved into a cache file.

To refresh cache and open helm interface run:
#+BEGIN_SRC
M-x helm-github-stars-fetch
#+END_SRC

The default cache location is ~$HOME/.emacs.d/hgs-cache~, you can customize this path:
#+BEGIN_SRC elisp
(setq helm-github-stars-cache-file "/cache/path")
#+END_SRC

*** Update the cache file automatically
Besides runing ~helm-github-stars-fetch~ to update the cache file manually, you
can also do it automatically while runing ~helm-github-stars~ by customizing
~helm-github-stars-refetch-time~, for example, refresh the cache file once it is
older than 0.5 days (i.e., 12 hours):
#+BEGIN_SRC elisp
(setq helm-github-stars-refetch-time 0.5)
#+END_SRC

*** Align repositories's description
For a clean look, repositories's description is aligned by default, you can
customize this behavior via ~helm-github-stars-name-length~, it's default
value is ~30~.
You can disable this by setting ~helm-github-stars-name-length~ to ~nil~:
#+BEGIN_SRC elisp
(setq helm-github-stars-name-length nil)
#+END_SRC

*** Private repositories
If you want to be able to show your private repositories, customize
~helm-github-stars-token~ then call ~helm-github-stars-fetch~ or ~helm-github-stars~.

** Run tests
Move into repository's root directory and run:
#+BEGIN_SRC shell
cask install
cask exec ert-runner
#+END_SRC
** Known issues
*** wrong-type-argument integer-or-marker-p nil
Reported in https://github.com/Sliim/helm-github-stars/issues/26

Github API use TLS 1.3 which don't like emacs's default TLS settings.

I suggest to set these settings in your emacs configuration:
#+BEGIN_SRC elisp
(setq gnutls-verify-error t
gnutls-min-prime-bits 2048
gnutls-algorithm-priority "SECURE192:+SECURE128:-VERS-ALL:+VERS-TLS1.2"
nsm-settings-file (expand-file-name "network-security.data" user-emacs-directory)
nsm-save-host-names t
network-security-level 'high
tls-checktrust t
tls-program '("gnutls-cli -p %p --dh-bits=2048 --ocsp --x509cafile=%t --priority='SECURE192:+SECURE128:-VERS-ALL:+VERS-TLS1.2:%%PROFILE_MEDIUM' %h"))
#+END_SRC
Sources:
- https://github.com/Sliim/emacs.d/blob/master/modules/emacsd-tls-hardening-module.el
- https://www.reddit.com/r/emacs/comments/8sykl1/emacs_tls_defaults_are_downright_dangerous/