helm-github-stars icon indicating copy to clipboard operation
helm-github-stars copied to clipboard

Browse your starred repositories with Emacs helm interface

  • 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/