Coder Social home page Coder Social logo

7even / endless-ships Goto Github PK

View Code? Open in Web Editor NEW
19.0 3.0 9.0 461 KB

Online reference to the Endless Sky game

Home Page: http://endless-sky.7vn.io/

License: GNU General Public License v3.0

Clojure 96.26% HTML 1.77% CSS 1.21% Dockerfile 0.76%
clojure react static-site-generator

endless-ships's Introduction

Endless Sky reference site generator

This is a tool for generating a website with reference information about the Endless Sky game.

The generator works by parsing the game's sources (specifically data/*.txt files) to get all game data so the information always stays up-to-date.

Installation (docker)

You can install, build, and run this quickly with Docker.

Clone the project:

$ git clone [email protected]:7even/endless-ships.git
$ cd endless-ships

Build and run (this may take a few minutes to complete):

docker run --rm -d -p 8000:80 $(docker build -q .)

Then connect to it with http://localhost:8000.

To take it down afterwards, you can use docker kill $(docker ps -q).

Installation (manual)

Alternatively, you can build it manually in your own environment.

First you need to clone the project and pull the game which is linked as a git submodule:

$ git clone [email protected]:7even/endless-ships.git
$ cd endless-ships
$ git submodule update --init

The generator uses Boot so you need to install it (brew install boot-clj on OS X). It installs all the other Clojure dependencies upon first launch.

The client-side part of the site is being compiled using yarn so you need to install it as well (brew install yarn on OS X).

Generating the site

Just run the boot build command from the root directory of the application. It will put the generated files under the build/ directory, ready to be deployed to the server.

Viewing the site locally

If you don't want to deploy the site to the server you can view it locally - there's a bunch of ways to start a simple HTTP server for serving static files. For example here's how one would do that with Ruby:

$ cd build # the generated site will be available at build/
$ ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'

Then point your browser to http://localhost:8000.

endless-ships's People

Contributors

7even avatar rezecib avatar rlonstein avatar zitchas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

endless-ships's Issues

Updating for 0.9.9 (perhaps for the Dev version?)

Greetings once again!

Just in case you haven't been hanging out in Endless Sky forums, I just wanted to let you know that 0.9.9 has been released. There are probably a few changes to ships & outfits between 0.9.9 and the dev version, but should be pretty close.

According to Amazinite and the other code-herders, we are anticipating 3-5 weeks of bug hunting by the community using 0.9.9 (which is an unstable release), followed by 0.9.10 as a stable release. So I'm just thinking that the Dev version could be tied to the unstable release, where it'll need just a refresh to get up to date, while the normal version could rely on the stable release, in which case it will need updating in 3-5 weeks.

Thanks again for this incredibly useful reference site!

boot build fails with OutOfMemoryError: Java heap space

Hi,

Thanks for this, it's a pretty useful tool for me, when trying to figure out which ship I should fly/outfit I should use.

I have a problem, I am trying to build this using the instructions in the README and failing. It's not entirely consistent but the error is always the same, namely lack of Java Heap Space. Pasting below the last 3 runs, edited for brevity

1st try

$ docker build .
Sending build context to Docker daemon  785.9kB
Step 1/13 : FROM clojure:boot-alpine AS boot
[snip]
Retrieving bcprov-jdk15on-1.62.jar from https://repo1.maven.org/maven2/ (4451k)
    endless-ships.parser/fn/fn  parser.clj:   51
    endless-ships.parser/parse  parser.clj:   43
       /instaparse.core.Parser    core.clj:  141
                           ...                  
         instaparse.core/parse    core.clj:   47
         instaparse.core/parse    core.clj:   94
          instaparse.gll/parse     gll.clj:  979
            instaparse.gll/run     gll.clj:  449
            instaparse.gll/run     gll.clj:  463
           instaparse.gll/step     gll.clj:  445
 instaparse.gll/push-message/f     gll.clj:  272
instaparse.gll/NodeListener/fn     gll.clj:  501
    instaparse.gll/push-result     gll.clj:  362
   instaparse.gll/push-message     gll.clj:  280
            clojure.core/swap!    core.clj: 2262
                           ...                  
            clojure.core/assoc    core.clj:  191
                           ...                  
java.lang.OutOfMemoryError: Java heap space
clojure.lang.ExceptionInfo: Java heap space
    line: 47
The command '/bin/sh -c boot build' returned a non-zero code: 1

2nd try

$ docker build .
Sending build context to Docker daemon  785.9kB
Step 1/13 : FROM clojure:boot-alpine AS boot
[snip]
Retrieving bcprov-jdk15on-1.62.jar from https://repo1.maven.org/maven2/ (4451k)
        /instaparse.core.Parser  core.clj:  141
                            ...                
          instaparse.core/parse  core.clj:   47
          instaparse.core/parse  core.clj:   94
           instaparse.gll/parse   gll.clj:  979
             instaparse.gll/run   gll.clj:  449
             instaparse.gll/run   gll.clj:  463
            instaparse.gll/step   gll.clj:  445
instaparse.gll/push-listener/fn   gll.clj:  383
          instaparse.gll/-parse   gll.clj:  136
       instaparse.gll/alt-parse   gll.clj:  852
   instaparse.gll/push-listener   gll.clj:  374
        instaparse.gll/node-get   gll.clj:  320
             clojure.core/swap!  core.clj: 2262
                            ...                
             clojure.core/assoc  core.clj:  191
                            ...                
java.lang.OutOfMemoryError: Java heap space
clojure.lang.ExceptionInfo: Java heap space
    line: 47

3rd try

$ docker build .
Sending build context to Docker daemon  785.9kB
Step 1/13 : FROM clojure:boot-alpine AS boot
[snip]
Retrieving bcpkix-jdk15on-1.62.jar from https://repo1.maven.org/maven2/ (850k)
    endless-ships.parser/parse  parser.clj:   43
       /instaparse.core.Parser    core.clj:  141
                           ...                  
         instaparse.core/parse    core.clj:   47
         instaparse.core/parse    core.clj:   94
          instaparse.gll/parse     gll.clj:  979
            instaparse.gll/run     gll.clj:  449
            instaparse.gll/run     gll.clj:  463
           instaparse.gll/step     gll.clj:  445
 instaparse.gll/push-message/f     gll.clj:  272
instaparse.gll/NodeListener/fn     gll.clj:  501
    instaparse.gll/push-result     gll.clj:  362
   instaparse.gll/push-message     gll.clj:  280
            clojure.core/swap!    core.clj: 2262
                           ...                  
            clojure.core/assoc    core.clj:  191
                           ...                  
java.lang.OutOfMemoryError: Java heap space
clojure.lang.ExceptionInfo: Java heap space
    line: 47

The stack trace differs a little bit each time but overall the error remains the same. The machine I try to build on has plenty of RAM (16GB) and the machine never appears under any memory stress (and the OOM killer has never showed up).

I 've already tried setting BOOT_JVM_OPTIONS=-Xmx8g (8 is the last value I tried before giving up and filing this task) but I saw no difference. I am a bit out of my depth here, my clojure knowledge is pretty limited, I 'd appreciate any help. Thanks!

Ramscoop "Ramscoop per space" significant digits

Due to the rather small numbers involved (typically a fairly small value being divided by a larger amount of outfit space), many of the ramscoops all round off to .1 ramscoop per space. Given that the differences between these values can actually be meaningful in practice, I would like to request that this column show two decimal places.

Thank you!

"Uncheck All" option

Being able to uncheck or check all boxes quickly would be handy, as often one wants to use the encyclopedia to only compare one species/manufacturer at once. Right now the default is to have all selected, and so requires quite a bit of clicking.

Feature Request: Dev version date or Commit

Greetings, I have a very small feature request for the dev version of your site (http://dev.endless-sky.7vn.io/): Would it be possible to have a small stamp somewhere (bottom of the page, perhaps?) that lists the date and/or commit hash for when the site is updated? It would make keeping track of what changes is or is not included much easier.

Thank you!

Missing ships: The Void Sprites

Greetings! I just noticed that the Void Sprites are missing from the ship list. Is this intentional?

Would it be possible to have them included, with a checkbox to show/hide them like with the other factions?

Thanks!

Updating dev. for the Beta

With the release of 0.9.11 (Beta branch on steam) and the recent changes to include commit identification as well as sorting by race/license, would it be possible to get the dev. page updated as well? With the addition of the Ka'het faction (as well as the new Remnant ships), there's a fair amount of stuff to compare.

Feature Request: Dev comparison columns

While this page is a great reference for general use as-is, when I'm working out stats for new ships it'd be nice to have a few more columns. Would it be possible to have a couple tickboxes or something (default: unchecked) that adds a few extra columns to the table:

Columns revealed by a "Dev info" tickbox:

  • drag
  • heat dissipation
  • Total health
  • fighter bays
  • drone bays

Columns revealed by a "Movement" tickbox: (these would be calculated from stock configuration)

  • Max Speed
  • Acceleration with no cargo
  • Turn with no cargo

As sort of a bonus feature, it'd be really nice to have a "Has special(s)" column under the "Dev Info" set that simply has a yes/no value as to whether the hull has anything special built into it. Built in cloaking, shield regen, hull regen, ramscoop, etc. Basically, anything that isn't part of the basic hull.

Request for info: Building on Windows (or on Github)

Thanks for your work developing this!

I am interested in learning how to run the program in order to generate a site for Endless Sky Delta; either running it locally or on Github via actions.

I am currently trying to run it locally on a Windows machine. I have boot and yarn installed (as well as node.js), but when I get to the last step of this section:

$ git clone [email protected]:7even/endless-ships.git
$ cd endless-ships
$ git submodule update --init

I get an error

Please make sure you have the correct access rights
and the repository exists.```

I tried swapping that out for zitchas/endless-ships.git to pull from my fork instead, but that didn't change anything.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.