Commit Graph

57 Commits

Author SHA1 Message Date
Alexey Kuleshevich
f5e147ab97
Integration with Pantry and usage of new stackage-snapshots:
* Moved all extensions into modules that are using them, rather than globally,
  since they mess up ghci session and introduce conflicts among
  packages. Removed those from `.ghci` file as well
* Redesigned the schema to use Pantry and moved it into it's own module
* Switched all of the db and cron related stuff to RIO. Yesod part is
  still on classy-prelude
* Got pantry to update stackage-server database from hackage
* Got import of stackage-snapshots implemented
* Moved some logic from all-cabal-tool
* Switched everything to `PackageNameP`, `VersionP`, etc. from a la Text.
* Fixed haddock, so it now does proper redirects and pipes the docs
  correctly. Also implemented piping of json files from S3 bucket,
  so index-doc.json is also served by stackage-server thus making
  Ctrl+S feature work properly on haddock. Fix for commercialhaskell/stackage#4301
* Import of modules is done through cabal file parsing, which slows
  down the initial import process drastically, but incremental update
  is not a problem.
* Just as with modules, dependencies are also imported from cabal file.
* In general improved type safety by introducing a few data types:
  eg. `ModuleNameP`, `HackageCabalInfo`, and many more.
* Implemented pulling of deprecation map from hackages and storing it in db
* Implementation of forward/backward dependencies within a snapshot only.
* Drastically improved performance of cron import job, by checking which
  snapshots are not up to date
* Implemented pulling haddock list from S3 bucket. Modules that have
  documentation are marked from the availability of actual haddock. This
  process happens concurrently with snapshots loading.
* Rearranged modules a bit:
  * github related functions went into it's own module
  * cron related functions where moved from Database to Cron module
  * Split up some functions to reduce individual complexity
* Parallelized package loading in cron job
* Implemented parsed cabal file caching.
* All queries where reqritten with esqueleto
* Syntactic improvements:
  * Added stylish-haskell config
  * Formatted all imports and extensions with stylish-haskell.
  * Fixed inconsistent indentation across all modules
* Many improvements to the package page as well as few others.
* Reimplemented hoogledb creation.
* Dropped dependency on tar in favor of tar-conduit
* Added cli for stackage-server-cron
* Add cabal sha and size to the package page
* Fixed links in hoogle searches. Improved type safety for a hoogle handler
* satckage-server-cron is customizable with cli arguments

Final adjustments for the new stackage server release:

* Upgrade to lts-13.16.
* Stackage server related code has been merged to pantry. Made the code
  compatible with the newer version pantry
* Added cli '--snapshots-repo'
* Add readme to package page
* Adjust snapshots expected format:
  * Added `publish-time`
  * Removed name `field`
  * `compiler` field is now in the `resolver` field with fallback to
    the root
2019-04-30 17:10:33 +03:00
Michael Snoyman
354374b0db
Link to the snapshot listing 2017-12-24 15:51:37 +02:00
Michael Snoyman
298d1d5b52
Limit number of deps/revdeps shown 2017-12-11 20:05:31 +02:00
Michael Snoyman
ce3fffcb6e Add Hoogle search to package page 2016-11-21 07:30:46 +02:00
Malvin Gattinger
3f460f6a44 fix link to "Add your package" 2016-10-19 17:00:29 +02:00
Michael Snoyman
b81ff2a59d Properly display latest vs current package version #177 2016-05-17 19:44:34 +03:00
Charles Cooper
2f6a05a844 Link to package changes in snapshot diff 2016-04-20 09:08:10 -04:00
Jens Petersen
07e6121773 package.hamlet: use a table and prettyNameShort to render the versions 2016-02-22 11:33:44 +09:00
Jens Petersen
053c2e0631 add renderNoPackages to handle plural, and append colon 2016-02-19 20:38:15 +09:00
Jens Petersen
df90a48756 templates/package: move latest version to a Hackage line below Stackage versions 2016-02-19 20:00:56 +09:00
Jens Petersen
0af19eed1c package.hamlet: revert space change since no link anymore 2016-02-19 18:25:05 +09:00
Jens Petersen
89c8cdb1be package.hamlet: list LTS and Nightly versions on separate lines 2016-02-17 18:37:05 +09:00
Jens Petersen
30896f3663 package.hamlet: link to hackage, license/author markup, number of revdeps 2016-02-17 17:59:23 +09:00
Konstantin Zudov
ebbeba08b7 Lay out module listings hierarchically
Closes #115
2015-10-04 11:59:39 +03:00
Michael Snoyman
768eaec573 Remove all social features
Motivation: these were the last things requiring a database. Once this
is gone, it simplifies deployment dramatically. I'm also not sure that
the social features were really worth keeping.
2015-09-25 17:43:50 +03:00
Michael Snoyman
c60612be34 Add to nightly link 2015-05-17 11:19:38 +03:00
Michael Snoyman
d77b87b6c2 Package pages 2015-05-13 14:08:58 +03:00
Michael Snoyman
7ac0fd8dbc Package pages per snapshot
This allows us to replace the Haddock-generate contents pages with our
snapshot/package pages.
2014-12-24 08:44:52 +02:00
Dan Burton
b06424463e Add deprecation info to stackage (#42) 2014-12-21 13:48:15 -08:00
Chris Done
2499b7b390 Fix compiler warnings 2014-12-16 12:03:25 +01:00
Chris Done
673a176b93 Add a heading and version to module section (#58) 2014-12-16 11:48:42 +01:00
Chris Done
c39cd34765 Don't make a README section if the content's empty 2014-12-16 11:48:34 +01:00
Michael Snoyman
9abc609427 Merge branch 'master' into 48-new-homepage
Conflicts:
	templates/package.hamlet
2014-12-15 15:03:04 +02:00
Chris Done
ee55db153a Style for module list 2014-12-15 13:23:50 +01:00
Chris Done
c299108781 Add anchors for deps and rev-deps (#55) 2014-12-15 13:21:20 +01:00
Chris Done
f8835ce14d Fix like button and tags ordering
@snoyberg
2014-12-15 13:09:49 +01:00
Chris Done
7a3a716efd Fix +1 style 2014-12-15 13:05:26 +01:00
Chris Done
1598423a6a Add LTS Haskell and Stackage Nightly links
Also made getPackageR slightly less horrific
2014-12-15 12:53:06 +01:00
Dan Burton
d343da6499 Correctly (un)pluralize the noun 'like' on package pages (#30). 2014-12-14 17:29:20 -08:00
Chris Done
8010783064 Add hoempage link and collapse likes and tags 2014-12-14 20:55:24 +01:00
Chris Done
ced1e40fa1 Move dependencies down past changelog 2014-12-14 20:43:41 +01:00
Chris Done
f7dde0a8e0 Add synopsis to package page 2014-12-14 20:41:17 +01:00
Chris Done
8d056968d0 Move snapshots and docs links to the top 2014-12-14 20:38:37 +01:00
Chris Done
16759ac17b Remove split view 2014-12-14 20:31:45 +01:00
Chris Done
803653b805 Tweak font sizes 2014-12-14 20:31:21 +01:00
Chris Done
f98e513f7a New homepage and new top nav (#52) 2014-12-14 20:18:40 +01:00
Michael Snoyman
046d3b6094 Support doc maps 2014-12-13 20:28:12 +02:00
Michael Snoyman
529f9483cd /lts and /nightly routes are set up 2014-12-09 17:17:41 +02:00
Michael Snoyman
4be4f8fafe Add missing down arrow 2014-12-09 13:34:29 +02:00
Michael Snoyman
a4e38c6b20 Make revdeps expanding 2014-12-09 13:27:48 +02:00
Michael Snoyman
346cf7a8da Reverse dependencies #33 2014-12-08 16:15:56 +02:00
Michael Snoyman
a8911dbb3b Better URLs #37
URLs now look like /snapshot/2014-11-23-7.8hp-exc and similar.
2014-11-23 14:26:03 +02:00
Chris Done
f36df17c01 Add tag voting (#35) 2014-11-20 12:43:20 +01:00
Dan Burton
c5aef41fde Add tag pages and tags list with minimal styling. 2014-11-13 20:43:25 -08:00
Chris Done
c9671e7f3c Implement basic tagging (closes #16) 2014-11-13 22:20:57 +01:00
Michael Snoyman
d5989c8fbf Move liked classes into template
Per discussion with @DanBurton
2014-11-13 22:39:25 +02:00
Chris Done
436cdfb15e Like button tweaks (closes #15) 2014-11-13 20:30:44 +01:00
Dan Burton
9c229d2d4e Added like button functionality (#15) 2014-11-13 20:07:24 +01:00
Chris Done
7ad48a91dd Make markdown areas collapse if larger than 300px
@snoyberg Not sure what the ideal height will be but this does what I
had in mind for the collapsing.
2014-11-03 19:23:20 +01:00
Chris Done
033274db66 Add add tag form 2014-11-03 18:10:00 +01:00