Giter Site home page Giter Site logo

racket-lang-org's Introduction

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 package to Python via pip3 install pygments.

You may also want to install 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 <dir> to build all pages to subdirectories of <dir>. 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 <directory-name>. 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.

racket-lang-org's People

Contributors

bennn avatar bogdanp avatar countvajhula avatar dependabot[bot] avatar elibarzilay avatar ertugrulcetin avatar jackfirth avatar jbclements avatar jeapostrophe avatar jessealama avatar kisaragi-hiu avatar leifandersen avatar liberalartist avatar mbutterick avatar mfelleisen avatar mflatt avatar michaelmmacleod avatar mikesperber avatar morazanm avatar rfindler avatar rmculpepper avatar rudraveermandal avatar samth avatar sondr3 avatar sorawee avatar spdegabrielle avatar stamourv avatar stchang avatar takikawa avatar winny- avatar

Stargazers

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

Watchers

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

racket-lang-org's Issues

https://htdp.org points to http://pyret.org

This looks to be a web server configuration issue.
A secure request or htdp.org goes to http://pyret.org.
http://www.htdp.org resolves correctly.
https://pyret.org resolves to http://pyret.org

128.148.32.110 is Brown University Computer Science, so they'll have to help fix this.

dig htdp.org

; <<>> DiG 9.10.3-P4-Ubuntu <<>> htdp.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42518
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;htdp.org. IN A

;; ANSWER SECTION:
htdp.org. 3599 IN A 128.148.32.110

;; Query time: 62 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 09 18:06:15 MST 2017
;; MSG SIZE rcvd: 53

https://www.pyret.org/ has a valid cert.
dig pyret.org

; <<>> DiG 9.10.3-P4-Ubuntu <<>> pyret.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5043
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;pyret.org. IN A

;; ANSWER SECTION:
pyret.org. 10799 IN A 217.70.184.38

;; Query time: 184 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 09 18:07:35 MST 2017
;; MSG SIZE rcvd: 54

the 'dozens 'available' link to languages can be improved

I have created a curated list of languages in pr #89 that has some example languages to show the flexibility of Racket with respect to Syntax, semantics, ffi, and targets (javascript, assembler, html)
its a first draft so I'm hoping for feedback on how it can be improved.

You're losing lots of new users to "racket: command not found"

I started with this tutorial, which says:

Download Racket, install, and then start racket with no command-line arguments:

$ racket

 Welcome to Racket v7.3.

I did so on my Macbook, downloading https://mirror.racket-lang.org/installers/7.4/racket-7.4-x86_64-macosx.dmg and following its instructions to place the contents in Applications.

Then from the terminal, I get:

$ racket
-bash: racket: command not found

Surely you are losing many new users to this!

Your instructions appear to be missing this step which is only documented on some external website.

redirect http requests to https to satisfy Chrome

screen shot 2019-02-08 at feb 08 6 29 17 am

To be clear: this is Chrome idiocy. But as with much Chrome idiocy, it is often imputed back to the webmaster. https seems active on all Racket websites. But typing in racket-lang.org to a Chrome URL box still selects the http version by default, and produces the naughty-looking “not secure” warning. The fix is to redirect all http requests to https.

delete the logo bar on docs.racket-lang.org

Rather than change this to match the new logo, I would prefer to delete it (though I’m not sure where in this repo it’s controlled, or if it's elsewhere.)

No reasonable human will be confused by the loss of this ’90s wayfinding artifact. See, e.g., the Rust docs.

Contributing blog post should appear in docs build guide

On Mon, Aug 17, 2020 at 8:13 AM Stephen De Gabrielle [email protected] wrote:
The feedback from that blog post is always good.
Noting that it has two predecessors I truly believe it should become the chapter 0 of https://docs.racket-lang.org/racket-build-guide/index.html

Did I say I love the new design?

Stephen

On Mon, Aug 17, 2020 at 2:25 PM
For "Contributing", would it make more sense to link to the official guide (https://docs.racket-lang.org/racket-build-guide/contribute.html) rather than the blog post (https://blog.racket-lang.org/2017/09/tutorial-contributing-to-racket.html)?

  • The blog post is a little bit outdated on the "Hints for finding documentation" section (we now have a good way to locate where the doc is, thanks to Sam).
  • The blog post is probably never going to be updated, but the official guide can be updated

Make a intro to DrRacket video

Make a intro to DrRacket video
In the style of the 'take the tour' link (<1000 words <6 minutes) on IntelliJ page

Proposed script;

Racket comes with a powerful IDE to support developers.

DrRacket uses the language defined in the source to provide language specific tooling 

[switch between Racket and Datalog showing renaming identifiers, autocomplete, arrows ]

[back to standard racket]

DrRacket automatically indents code as you type
You can manually reindent a line by pressing [tab], selection, or the entire file [command]-i

[demonstrate]

You can use [ctrl]-. to activate autocomplete 

[show autocomplete]

As you type the region between matching parenthesis is shaded gray.

[show]

And opening and closing parenthesis are automatically changed to match

[show cond with closing square brackets]

There are a range of keybindings to efficiently navigate s-expressions, going forwards, backwards, descending or ascending, holding shift allows you to select as you move.

[demonstrate forward, back, down, up, the select -...]

Moving the mouse pointer will indicate identifier binding and usage with arrows, which can be pinned to aid navigation. 

[demo]

Keyboard shortcuts or context menus provide navigation back to an identifiers  binding location or forward to each use of the identifier,

[demo]

and all instances of an identifier can be renamed to aid refactoring.

[demo renaming]

The [(define ...)] button shows all definitions, clicking a definition name will move the cursor to that definition.

[demo]

Using [run] or [ctrl]-r will run the currently selected file

[demo]

The interactions panel will reset and  show if debugging or profiling is enabled, and display any output as it happens.

[demo]

While the interactions panel is reset to ensure it is consistent with the program, [esc]-p can be used to review and reuse previous commands.

[demo]

The Break button allows the user to interrupt evaluation;  one click will request, two clicks to kill the evaluation immediately.
[demo]

The Debug button launches the stepping debugger

[demo stepping debugger]

Sophisticated program analysis highlights identifiers and provides links to each identifiers definition and use. 


This functionality also enables signatures, and links directly to the relevant documentation.

[demo]

The Macro Stepper is a stepper for macro expansion, letting you inspect macro expansion as it happens.        

[demo of macro expansion while stepping]

While this recording has only provided a brief overview of the functionality available, DrRacket also has sophisticated extension mechanisms including, user defined keybindings, scripts, teachpacks, and plugins.


See the links below to learn more.


Thank you

`announce` mailing list offline

Hi,
The announce list on mailman and gmane mirror are both offline, with 'list not found' and 'Error 522'(timeout) respectively.

NB the archive is still active, but the last archived announcement was the 7.2 release.

KR

Stephen

Links are not obvious in introduction

In the introduction text Racket is a full-spectrum ... GUI and charts, there are lots of links that appear as normal text (e.g. objects, types, laziness, GUI, charts, etc.). I wouldn't have realized they were links to other pages had I not accidentally hovered the mouse over them. As the links from other parts of the page do stand out, I guess this is not intended.

Build error due to out-of-date version

Every time I re-build Racket with a new VM version, I get an error like this from this package:

read-compiled-linklet: version mismatch  expected: "7.5.0.9"  found: "7.5.0.2"  in: /home/samth/sw/plt/extra-pkgs/racket-lang-org/rcon/2019/compiled/ta6le/pollen_rkt.zo
  compilation context...:
   /home/samth/sw/plt/extra-pkgs/racket-lang-org/rcon/2019/text.svg.pm
  context...:
   raise-read-error

Buggy download page

  1. Navigate to https://download.racket-lang.org/racket-minimal-v7.6.html. Notice that there are two "Variant" select widgets. Only the second one is functional.
  2. Click the "Platform" select widget. There are duplicate choices. E.g., Windows (x64, 64-bit) appears twice. I believe this over-counting happens because there are two suffixes for Windows: tgz and exe. Though I think it makes more sense to show these variants in the "Variant" select widgets (and in fact it already does this).
  3. Choose Windows (x64, 64-bit). There are four variants: Regular, Regular, CS, and CS. Again, this happens because for each variant, there are two suffixes. It would be nice to display Regular (tgz), Regular (exe), CS (tgz), CS (exe) instead.

Files in the `rcon` directory error during setup

Running raco setup racket-lang-org produces errors such as:

load-handler: expected a `module' declaration for `template.html' in #<path:/home/samth/sw/plt/extra-pkgs/racket-lang-org/rcon/2017/template.html.p>, but found something else
  compilation context...:
   /home/samth/sw/plt/extra-pkgs/racket-lang-org/rcon/2017/template.html.p
  context...:
   /home/samth/sw/plt/racket/collects/syntax/private/modcode-noctc.rkt:34:2: reader
   /home/samth/sw/plt/racket/collects/syntax/private/modcode-noctc.rkt:257:5: compile-one
   /home/samth/sw/plt/racket/collects/compiler/private/cm-minimal.rkt:273:0: compile-zo*
   /home/samth/sw/plt/racket/collects/compiler/private/cm-minimal.rkt:489:26
   /home/samth/sw/plt/racket/collects/compiler/private/cm-minimal.rkt:481:42
   /home/samth/sw/plt/racket/collects/compiler/private/cm-minimal.rkt:551:0: compile-root
   /home/samth/sw/plt/racket/collects/compiler/private/cm-minimal.rkt:653:4
   /home/samth/sw/plt/racket/collects/setup/../racket/private/more-scheme.rkt:261:28
   [repeats 1 more time]
   /home/samth/sw/plt/racket/collects/setup/parallel-do.rkt:435:20: loop

gmane mirror It's not working

IRC link is broken

The "#racket IRC" link under the Community tab now goes to a generic "we have been acquired" page.

large gap at top of docs pages caused by obsolete "doc-site.js"

This is the docs.rkt module that generates the doc-site.js and doc-site.css files for docs.racket-lang.org:

https://github.com/racket/racket-lang-org/blob/master/stubs/docs.rkt

Recently I updated this file to put a Racket logo at the top of the page rather than a whole nav bar.

Up until the last day or two, the docs host was correctly showing the updated files.

Today, the doc-site.css remains updated but the doc-site.js has somehow reverted to the old version. This is the reason for the large gap at the top of each documentation page.

I don’t have a theory as to why one file is right and the other wrong, since they’re both generated by docs.rkt.

[rcon][2014] all slide links return 404 ...

Thu Jul 2 19:01:57 BST 2015

HI,

Just sent an email to [email protected] concerning this.
All links to slides for 2014 (e.g. http://con.racket-lang.org/2014/fogus.pdf) return 404:

> ((uncaught-exception-handler)
   (*(+(*)(*(+(*)(*)(*)(*)(*))(+(*)(*)(*)(*)(*))(+(*)(*)(*)(*))))(+(*)(*)(*)(*))))
uncaught exception: 404

However, curl gets a 403:

% curl -I http://con.racket-lang.org/2014/fogus.pdf
HTTP/1.1 403 Forbidden
x-amz-error-code: AccessDenied
x-amz-error-message: Access Denied
x-amz-request-id: 48A476C8A84414FF
x-amz-id-2: vqS/elobJbjUsJ/qf5glCUxue6kOs6I5WSlfgHLW/c334Ht3plkER/BUOYpHpglA
Transfer-Encoding: chunked
Date: Thu, 02 Jul 2015 18:03:28 GMT
Server: AmazonS3

Kind regards,

change to make-directory* in index-illos.rkt

I was playing with images generated in index-illos.rkt and noticed the following part of the code:

(define-runtime-path illo-dir "img/illos/")

(define (start name)
  (when (not (directory-exists? illo-dir))
    (make-directory illo-dir))

will raise an error if both directories (img and illos) don't exist. Using
(make-directory* illo-dir)
will fix the issue.

Is https://racket-lang.org on the racket web server?

wondering if some aspects of the website could be automated?

  • database/API backed things including, but not limited to the donors page.
  • perhaps include a 'racket playground' based on RacketScript sometime in the future.

Would this offer opportunities? - or is the cost too high?

Add link to to Termux

Racket can run on Android using Termux.

$ pkg install unstable-repo
$ pkg install racket

S3 sync not working correctly

The upload after fix #32 didn’t work correctly — the refreshed index.html was uploaded but not the accompanying styles.css. I can’t tell if it failed to upload at all, or if there’s some cache holding onto the old version.

On the homepage now, you can see the problem in the code boxes — the font size is too large and doesn’t fit in the box.

bugs.racket-lang.org is down

$ curl bugs.racket-lang.org
curl: (7) Failed to connect to bugs.racket-lang.org port 80: Operation timed out
$ curl https://bugs.racket-lang.org
curl: (7) Failed to connect to bugs.racket-lang.org port 443: Operation timed out

Feedback from HN

Congrats for the new design, looks great @mbutterick!

The website was posted to HN today, and there's some fair points raised (e.g. some concerns with the hoverable cards) about the new design. I thought I'd let you guys know if you want to look into them.

No (OK, very hidden) explanation of "Minimal Racket vs Racket"

On the download page, there is an option to download Racket or Minimal Racket, but there's no explanation of what "Minimal Racket" means. Of the first set of links there: Announcement, Notes, Documentation, More Variants and Checksums, none have any explanation. Searching the documentation for "Minimal" turns up nothing.

You have to go to "Snapshot Builds", Utah or Northwestern, then click "?" on Minimal Racket to find out what it means: "Includes just enough of Racket that you can use raco pkg to install more." Then you'd have to navigate back (unless you actually want a snapshot) to the download page.

Seems like there really ought to be a description on the download page. There probably ought to be the same description on the "More Variants" page as the "Snapshot" page (they have a very similar structure), too.

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.