https://github.com/racket/racket-lang-org
https://github.com/racket/racket-lang-org
racket
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/racket/racket-lang-org
- Owner: racket
- License: other
- Created: 2014-11-29T01:46:35.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T21:23:21.000Z (6 months ago)
- Last Synced: 2024-10-29T23:44:23.709Z (6 months ago)
- Topics: racket
- Language: Racket
- Size: 113 MB
- Stars: 67
- Watchers: 32
- Forks: 57
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# racket-lang-org
This the source for the Racket package: "racket-lang-org".
## Setup:
Install this directory as a package with `raco pkg install`
You additionally need to install the [Pygments](https://pygments.org/) package to Python via `pip3 install pygments`.
You may also want to install [raco-static-web](https://github.com/samdphillips/raco-static-web),
though this is not necessary (you could use Python 3's `http.server` instead).## Sources:
* `www`: actual content of main site.
* `blog`: actual content of blog.
* `download`: content of download site (only installer pages and such)
* `*/all.rkt`: files that just require all the necessary modules to build
the whole site or sub-sites* `*/resources.rkt`: files that define the resources for a site (icon,
css, logo)* `minis`: smaller one-source-file sites
* `stubs`: template "sites" that are intended to be hooked into other
systems to get the racket look.## To build:
[See "upload" and `--dry-run` for an alternative]
* The simplest way to build the whole site is to run the command below:
```
racket -l- racket-lang-org/sync --save-temps --render-locally Web
```This renders the site in some temp directory and then moves the directory to `Web`.
* To view the rendered pages in a browser, change directory to a rendered site
(e.g., `Web/www` or `Web/download`) and spawn a local server:- If you wish to use `raco-static-web`, run `raco static-web` to spawn a local server.
- If you wish use Python 3, run `python3 -m http.server` to spawn a local server.
Then navigate to http://localhost:8000/ in your browser to view the site.You may encounter some problems. Check below first:
* `pollen` problems
`pollen` occasionally fails with really strange "deep in the guts"
error messages. `pollen` changes and doesn't work right with its old
files. After double-checking that you have everything in a new
commit, does **DANGER!** `git clean -d -x -f`.**DANGER!** Really make sure that you don't have any files you want
to keep that aren't committed! This command also rm's uncommitted files.* Run `racket all.rkt -o ` to build all pages to subdirectories of
``. As a safety measure, the target directory must not overlap
with any installed directory. (Use `-f` in scripts to avoid
answering the question about deleting existing files.)* Running any `*.rkt` might build a page and things that it
references. (Use `-h` as usual.) That's less true for newer pages.* For older pages, you can choose `-w` (the default) for web mode,
`-l` for local using `file://` references, or `-r` for local mode
using relative references. Normally, you'll want to use `-l` for
testing, and then use `-w` for deployment.* Set the `$GIT_DIR` environment variable to point to the `.git`
directory of a Racket repository if you want to extract release
information from a repository other than the enclosing one.## To upload:
* You'll need credentials to upload to S3, and those credentials
should be in `~/.aws-keys`.* You'll need the `s3-sync` Racket package installed.
* Run the `sync.rkt` script: `racket -l- racket-lang-org/sync`
* To build without uploading, use `--save-temps --render-locally `. If you
don't have AWS credentials, the pages will still build, and look for
"Files so far written to" for the temporary directory that contains
the rendered pages.## Contributing
Contribute to Racket by submitting a [pull request], reporting an
[issue], joining the [development mailing list], or visiting the
IRC or Slack channels.## License
Racket, including these packages, is free software, see [LICENSE]
for more details.By making a contribution, you are agreeing that your contribution
is licensed under the [Apache 2.0] license and the [MIT] license.[MIT]: https://github.com/racket/racket/blob/master/racket/src/LICENSE-MIT.txt
[Apache 2.0]: https://www.apache.org/licenses/LICENSE-2.0.txt
[pull request]: https://github.com/racket/racket-lang-org/pulls
[issue]: https://github.com/racket/racket-lang-org/issues
[development mailing list]: https://lists.racket-lang.org
[LICENSE]: LICENSE