(package-initialize)
#+END_SRC
+** My constant
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (defconst my-name "Peng Li")
+ (defconst my-email "seudut@gmail.com")
+#+END_SRC
+
** General Setting
*** scroll bar, tool-bar and menu-bar
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (scroll-bar-mode 0)
- (tool-bar-mode 0)
-
- (if window-system
- (menu-bar-mode 1)
+ (if (display-graphic-p)
+ (progn
+ (scroll-bar-mode 0)
+ (tool-bar-mode 0)
+ (menu-bar-mode 1))
(menu-bar-mode 0))
(setq debug-on-error t)
*** variable-pitch-mode and fixed-pitch-mode
[[https://yoo2080.wordpress.com/2013/05/30/monospace-font-in-tables-and-source-code-blocks-in-org-mode-proportional-font-in-other-parts/][monospace font in tables and source code blocks in org-mode, proportional font in other parts]]
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (set-face-attribute 'variable-pitch nil :font "Calibri" :height 160)
+ ;; check if the fonts are available
+ (unless (find-font (font-spec :name "Ubuntu Mono"))
+ (warn "Font not found Ubuntu Mono"))
+ (unless (find-font (font-spec :name "Source Code Pro"))
+ (warn "Font not found Source Code Pro"))
+ (unless (find-font (font-spec :name "Source Sans Pro"))
+ (warn "Font not found Source Sans Pro"))
+
+ (set-face-attribute 'variable-pitch nil :font "Source Sans Pro" :height 160)
(set-face-attribute 'fixed-pitch nil :font "Source Code Pro" :height (face-attribute 'default :height))
(add-hook 'text-mode-hook 'variable-pitch-mode)
#+END_SRC
** Org Blog
-Refer to [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html][org-publish-html-tutorial]], and [[https://ogbe.net/blog/blogging_with_org.html][blogging_with_org]]
+Fetch dependencies file, which is not in this repository.
+#+BEGIN_SRC perl :results silent :tangle yes
+ print `curl https://raw.githubusercontent.com/seudut/blog/master/my-publish.el -o ./elisp/my-publish.el`;
+#+END_SRC
+
+Load
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (require 'ox-publish)
-
- (setq org-publish-project-alist
- `(
- ("org-notes"
- :base-directory "~/Private/blog/"
- :base-extension "org"
- :publishing-directory "~/Private/publish_html"
- :recursive t
- :publishing-function org-html-publish-to-html
- :headline-levels 4
- :section-numbers nil
- :auto-preamble t
- :auto-sitemap t ;Generate sitmap.org automagicaly...
- :sitemap-filename "sitemap.org" ;... call it sitemap.org (it's the default )...
- :sitemap-title "Sitemap"
-
- :html-table-of-contents nil
- :html-postamble nil ;dont export creator auto validation info in html postamble div
- :html-link-home "/"
- :html-head "<link rel='stylesheet' href='./css/worg.css' />"
- :html-head-include-default-style nil
- :html-head-include-scripts nil)
- ("org-static"
- :base-directory "~/Private/blog/"
- :base-extension "css\\|js\\|png\\|gif\\|pdf\\|mp3\\|ogg\\|swf"
- :publishing-directory "~/Private/publish_html"
- :recursive t
- :publishing-function org-publish-attachment
- :table-of-contents nil)
- ("org" :components ("org-notes" "org-static"))))
+ (add-to-list 'load-path "~/.emacs.d/elisp")
+
+ (when (file-exists-p "~/.emacs.d/elisp/my-publish.el")
+ (require 'my-publish)
+ (blog-setup-project-alist "~/Private/blog/"))
#+END_SRC
+
+Refer to [[http://orgmode.org/worg/org-tutorials/org-publish-html-tutorial.html][org-publish-html-tutorial]], and [[https://ogbe.net/blog/blogging_with_org.html][blogging_with_org]]
+
* Magit
[[https://github.com/magit/magit][Magit]] is a very cool git interface on Emacs.
and Defined keys, using vi keybindings, Refer abo-abo's setting [[https://github.com/abo-abo/oremacs/blob/c5cafdcebc88afe9e73cc8bd40c49b70675509c7/modes/ora-nextmagit.el][here]]
;; don't ask me to confirm the unsaved change
(setq magit-save-repository-buffers nil)
;; default is 50
- (setq git-commit-summary-max-length 80)
+ (setq git-commit-summary-max-length 100)
:commands magit-status magit-blame
:config
(dolist (map (list magit-status-mode-map
(defun sd/eshell-clear-buffer ()
"Clear eshell buffer"
(interactive)
- (let ((inhibit-read-only t))
- (erase-buffer)
- (eshell-send-input)))
+ (let ((inhibit-read-only t)
+ (current-point (- (point-max) (point))))
+ (beginning-of-line)
+ (delete-region (point-min) (point))
+ (goto-char (- (point-max) current-point))
+ ;; (eshell-send-input)
+ ))
+
(add-hook 'eshell-mode-hook (lambda ()
(local-set-key (kbd "C-l") 'sd/eshell-clear-buffer)))
** pdf-tools
#+BEGIN_SRC sh
- brew install poppler
+ #brew install poppler
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (use-package pdf-tools
- :ensure t
- :init
- ;; run to complete the installation
- (pdf-tools-install)
- :config
- (add-to-list 'auto-mode-alist '("\.pdf$" . pdf-view-mode))
- (add-hook 'pdf-outline-buffer-mode-hook #'sd/pdf-outline-map))
+ ;(use-package pdf-tools
+ ; :ensure t
+ ; :init
+ ; ;; run to complete the installation
+ ; (pdf-tools-install)
+ ; :config
+ ; (add-to-list 'auto-mode-alist '("\.pdf$" . pdf-view-mode))
+ ; (add-hook 'pdf-outline-buffer-mode-hook #'sd/pdf-outline-map))
- (defun sd/pdf-outline-map ()
- "My keybindings in pdf-outline-map"
- (interactive)
- (define-key pdf-outline-buffer-mode-map (kbd "C-o") nil)
- (define-key pdf-outline-buffer-mode-map (kbd "i") 'outline-toggle-children)
- (define-key pdf-outline-buffer-mode-map (kbd "j") 'next-line)
- (define-key pdf-outline-buffer-mode-map (kbd "k") 'previous-line))
+ ;(defun sd/pdf-outline-map ()
+ ; "My keybindings in pdf-outline-map"
+ ; (interactive)
+ ; (define-key pdf-outline-buffer-mode-map (kbd "C-o") nil)
+ ; (define-key pdf-outline-buffer-mode-map (kbd "i") 'outline-toggle-children)
+ ; (define-key pdf-outline-buffer-mode-map (kbd "j") 'next-line)
+ ; (define-key pdf-outline-buffer-mode-map (kbd "k") 'previous-line))
#+END_SRC
** help-mode
** Org file template
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (eval-after-load 'autoinsert
- '(define-auto-insert '("\\.\\(org\\)\\'" . "Org-mode skeleton")
- '(
- "title: "
- "#+TITLE: " str (make-string 30 ?\s) > \n
- "#+AUTHOR: Peng Li\n"
- "#+EMAIL: seudut@gmail.com\n"
- "#+DATE: " (shell-command-to-string "echo -n $(date +%Y-%m-%d)") > \n
- > \n
- > _)))
+ ;; (eval-after-load 'autoinsert
+ ;; '(define-auto-insert '("\\.\\(org\\)\\'" . "Org-mode skeleton")
+ ;; '(
+ ;; "title: "
+ ;; "#+TITLE: " str (make-string 30 ?\s) > \n
+ ;; "#+AUTHOR: Peng Li\n"
+ ;; "#+EMAIL: seudut@gmail.com\n"
+ ;; "#+DATE: " (shell-command-to-string "echo -n $(date +%Y-%m-%d)") > \n
+ ;; > \n
+ ;; > _)))
#+END_SRC
* Markdown mode
** Group buffer
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
- (use-package gnus
- :init
- (setq gnus-permanently-visible-groups "\.*")
- :config
- (cond (window-system
- (setq custom-background-mode 'light)
- (defface my-group-face-1
- '((t (:foreground "Red" :bold t))) "First group face")
- (defface my-group-face-2
- '((t (:foreground "DarkSeaGreen4" :bold t)))
- "Second group face")
- (defface my-group-face-3
- '((t (:foreground "Green4" :bold t))) "Third group face")
- (defface my-group-face-4
- '((t (:foreground "SteelBlue" :bold t))) "Fourth group face")
- (defface my-group-face-5
- '((t (:foreground "Blue" :bold t))) "Fifth group face")))
- (setq gnus-group-highlight
- '(((> unread 200) . my-group-face-1)
- ((and (< level 3) (zerop unread)) . my-group-face-2)
- ((< level 3) . my-group-face-3)
- ((zerop unread) . my-group-face-4)
- (t . my-group-face-5))))
-
-
- ;; key-
- (add-hook 'gnus-group-mode-hook (lambda ()
- (define-key gnus-group-mode-map "k" 'gnus-group-prev-group)
- (define-key gnus-group-mode-map "j" 'gnus-group-next-group)
- (define-key gnus-group-mode-map "g" 'gnus-group-jump-to-group)
- (define-key gnus-group-mode-map "v" (lambda () (interactive) (gnus-group-select-group t)))))
+ ;; (use-package gnus
+ ;; :init
+ ;; (setq gnus-permanently-visible-groups "\.*")
+ ;; :config
+ ;; (cond (window-system
+ ;; (setq custom-background-mode 'light)
+ ;; (defface my-group-face-1
+ ;; '((t (:foreground "Red" :bold t))) "First group face")
+ ;; (defface my-group-face-2
+ ;; '((t (:foreground "DarkSeaGreen4" :bold t)))
+ ;; "Second group face")
+ ;; (defface my-group-face-3
+ ;; '((t (:foreground "Green4" :bold t))) "Third group face")
+ ;; (defface my-group-face-4
+ ;; '((t (:foreground "SteelBlue" :bold t))) "Fourth group face")
+ ;; (defface my-group-face-5
+ ;; '((t (:foreground "Blue" :bold t))) "Fifth group face")))
+ ;; (setq gnus-group-highlight
+ ;; '(((> unread 200) . my-group-face-1)
+ ;; ((and (< level 3) (zerop unread)) . my-group-face-2)
+ ;; ((< level 3) . my-group-face-3)
+ ;; ((zerop unread) . my-group-face-4)
+ ;; (t . my-group-face-5))))
+
+
+ ;; ;; key-
+ ;; (add-hook 'gnus-group-mode-hook (lambda ()
+ ;; (define-key gnus-group-mode-map "k" 'gnus-group-prev-group)
+ ;; (define-key gnus-group-mode-map "j" 'gnus-group-next-group)
+ ;; (define-key gnus-group-mode-map "g" 'gnus-group-jump-to-group)
+ ;; (define-key gnus-group-mode-map "v" (lambda () (interactive) (gnus-group-select-group t)))))
#+END_SRC
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(add-hook 'ediff-suspend-hook 'ediff-toggle-wide-display))
#+END_SRC
+* Modes
+** Yaml-mode
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+ (use-package yaml-mode
+ :ensure t
+ :init
+ (add-to-list 'auto-mode-alist '("\\.yml\\'" . yaml-mode)))
+#+END_SRC
+
* Entertainment
** GnuGo
Play Go in Emacs, gnugo xpm refert [[https://github.com/okanotor/dotemacs/blob/f95b774cb292d1169748bc0a62ba647bbd8c0652/etc/my-inits/my-inits-gnugo.el][to here]]. start at image display mode and grid mode
(global-set-key (kbd "C-w") 'sd/kill-region-or-backward-kill-word)
#+END_SRC
+
* Developing
** perspeen
#+BEGIN_SRC emacs-lisp :tangle yes :results silent
(define-key perspeen-mode-map (kbd "s-t") 'perspeen-tab-create-tab)
(define-key perspeen-mode-map (kbd "s-t") 'perspeen-tab-create-tab))
#+END_SRC
+
* TODO todolist
** Rucket
** player video on iphone for