diff --git a/.gitignore b/.gitignore index 639fc9f1..ed2319b0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ /packages/archive-contents /working/*/ /html/index.html -/html/index.md /epkgs **.elc .#* diff --git a/html/Makefile b/html/Makefile index 2e012203..407702d8 100644 --- a/html/Makefile +++ b/html/Makefile @@ -1,16 +1,13 @@ SHELL := /bin/bash -.PHONY: all clean index.md updates.rss +.PHONY: all clean updates.rss all: index.html updates.rss -index.md: index.erb - erb index.erb > index.md - -index.html: index.md - pandoc --template=template.html --css=style.css -s --mathml -t html --smart index.md > index.html +index.html: index.html.erb + erb index.html.erb > index.html updates.rss: updates.rss.erb erb updates.rss.erb > updates.rss clean: - -rm -v index.md index.html updates.rss + -rm -v index.html updates.rss diff --git a/html/index.html.erb b/html/index.html.erb new file mode 100644 index 00000000..d305f413 --- /dev/null +++ b/html/index.html.erb @@ -0,0 +1,235 @@ +<% + require 'json' + require 'ostruct' + include ERB::Util + archive_json = JSON.parse(File.open("../archive.json").read) + recipe_json = JSON.parse(File.open("../recipes.json").read) + + packages = archive_json.keys.sort.map do |pkgname| + package = OpenStruct.new + package.name = pkgname + versions, deps, package.descr, package.pkgtype = archive_json[package.name] + recipe = recipe_json[package.name] + package.version = versions.join('.') + package.url = "packages/#{package.name}-#{package.version}." + (package.pkgtype == "single" ? "el" : "tar") + package.recipe_url = "https://github.com/milkypostman/melpa/blob/master/recipes/#{package.name}" + package.source = 'unknown' + if package.descr =~ /(.*?)(\s*-\*-.*?)?\s*\[source:\s*(\w+)\]\s*/ + package.descr, package.source = $1, $3 + end + + package.source_url = + case package.source + when 'github' then recipe['repo'].include?('/') ? "https://github.com/#{recipe['repo']}" : "https://gist.github.com/#{recipe['repo']}" + when 'wiki' then recipe.key?('files') ? nil : "http://www.emacswiki.org/emacs/#{package.name}.el" + end + package + end +%> + + +
+ ++ Last Update: <%= Time.now.strftime("%Y.%m.%d %H:%M %z") %> + – follow @melpa_emacs on Twitter for updates +
+Package | +Version | +Description | +Recipe | +Source | +
---|---|---|---|---|
<%=h package.name %> | +<%=h package.version %> | +<%=h package.descr %> | +recipe | +<% if package.source_url %> + <%=h package.source %> + <% else %> + <%=h package.source %> + <% end %> + | +
To add the repository put this before the call to package-initialize
in your init.el
file.
(add-to-list 'package-archives
+ '("melpa" . "http://melpa.milkbox.net/packages/") t)
+ + Please read about known issues + below before attempting to install multiple packages at once. +
+
+ There is currently no way in package.el
to
+ exclude or include versions. So to remedy this there is
+ a melpa.el
package (available in MELPA) that will
+ allow you to enable only certain packages or exclude certain
+ packages. You can install the package manually by pasting this
+ into your *scratch*
buffer and evaluating it.
+
(progn
+ (switch-to-buffer
+ (url-retrieve-synchronously
+ "https://raw.github.com/milkypostman/melpa/master/melpa.el"))
+ (package-install-from-buffer (package-buffer-info) 'single))
+ You can then customize two variables:
+package-archive-enable-alist
+ Optional Alist of enabled packages used
+ by package-filter
. The format
+ is (ARCHIVE . PACKAGE ...)
,
+ where ARCHIVE
is a string matching an archive
+ name inpackage-archives
, PACKAGE
+ is a symbol of a package in ARCHIVE
to
+ enable.
+
+ If no ARCHIVE
exists in the alist, all
+ packages are enabled.
+
package-archive-exclude-alist
+ Alist of packages excluded by package-filter
+
. The format is (ARCHIVE . PACKAGE
+ ...)
, where ARCHIVE
is a string
+ matching an archive name
+ inpackage-archives, PACKAGE
is
+ a symbol of a package in that archive to exclude.
+ Any specified package is excluded regardless of the value
+ of package-archive-enable-alist
+
+ Note: These fixes are included in
+ the melpa.el
package.
+
+ There is a small bug in Emacs24’s package.el
such
+ that the dependency order comes out backwards. The problem is
+ patched by some advice.
+
(defadvice package-compute-transaction
+ (before package-compute-transaction-reverse (package-list requirements) activate compile)
+ "reverse the requirements"
+ (setq requirements (reverse requirements))
+ (print requirements))
+
+ package.el
now includes a mechanism to upgrade
+ packages. After running package-list-packages
,
+ type U (mark Upgradable packages) and then x
+ (eXecute the installs and deletions). When it’s done
+ installing all the packages it will ask if you want to delete
+ the obsolete packages and so you can hit y (Yes).
+
+ If you run into a problem installing or upgrading, you may
+ need to go into your ~/.emacs.d/elpa/
directory
+ and delete packages that are installed multiple times. This
+ can happen when the install times out
+ (see Known Issues).
+
https://github.com/milkypostman/melpa
++ Contributions are welcome. Currently, the builder supports + packages using git, subversion, mercurial, bzr, cvs, darcs and + emacswiki. +
+