Code Monkey home page Code Monkey logo

swift-org-website's Introduction

Swift.org Website

Overview

Swift.org website goals include:

  1. Welcome the curious about the Swift programming language.
  2. Share knowledge with the Swift users community and prospective users, including instructions for getting started with Swift as easily as possible, user guides, best practices, API documentation and feature announcements.
  3. Share knowledge with the Swift contributors community and prospective contributors, including contribution guides, technical details that assist contributions, project governance and legal information.
  4. Highlight community driven initiatives and technical work that have broad applicability to Swift users in all or some of its core usage domains.

See website overview for more information about the Swift.org website goals, content governance and contribution guidelines.

Technical

Swift.org uses Jekyll, a blog-aware, static site generator in Ruby.

Running locally

Requirements

  • Git
  • Ruby 3.2 or higher (a Ruby installation manager, such as rbenv or RVM is recommended, but not required)
  • Bundler

To run the site locally, enter the following commands into a terminal window:

git clone https://github.com/apple/swift-org-website.git
cd swift-org-website
bundle install
LC_ALL=en_us.UTF-8 bundle exec jekyll serve
open "http://localhost:4000"

Running in Docker

First build the site with Docker Compose:

docker-compose run build

Then you can run the site:

docker-compose up website

The website will be available on http://localhost:4000

swift-org-website's People

Contributors

0xtim avatar adam-fowler avatar alexandersandberg avatar amartini51 avatar anthonylatsis avatar benrimmington avatar compnerd avatar cthielen avatar daveverwer avatar dempseyatgithub avatar federicobucchi avatar hborla avatar hyp avatar joannis avatar kaishin avatar krstnfx avatar ktoso avatar kyle-ye avatar maxdesiatov avatar natikgadzhi avatar rauhul avatar robinbateman808 avatar shahmishal avatar simanerush avatar stevapple avatar swift-ci avatar tkremenek avatar tomerd avatar twostraws avatar unbinilium 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  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  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  avatar  avatar

swift-org-website's Issues

Eliminate duplicate instructions?

This is a concern regarding the Swift installation procedure. Below, after describing the issue, I have a request to change Swift - Getting Started and/or Download. I am new at Swift, and other thoughts are welcome! And many thanks to all who helped bring Swift to Windows!!! :)

Environment

build number: Swift 5.6.1
OS: Windows 10 desktop computer

Feature Description

Would it be possible to eliminate some duplicated instructions?

The complete install instructions are currently on both Swift - Getting Started and Download. It would seem wiser to store the instructions in only one place. Could one of these pages be the sole location and the other simply link to that?

Rationale: I am in the process of submitting a number of change requests to the installation procedure on these documentation pages, so this suggestion will have two benefits: 1) it will be less maintenance, and 2) it just keeps them from getting out of sync (the DRY principle).

Suggested Documentation Fixes

At the top of Swift - Getting Started,
change this:
The first step to using Swift is to download and install the compiler and other required components. Go to the Download page and follow the instructions for your target platform.

to this:
The first step to using Swift is to download and install the compiler and other required components. Go to the Download page to download the release of your choice, then follow the instructions below for your target platform.

Or, if you prefer, you could flip that and keep the instructions only on Download.

Also, while problem solving my install, I was directed to a third set of instructions:

pwsacademy swift-setup

by the page When I install swift correctly....

Would you consider merging any valuable install information on that first page into the official install instructions page? Especially the "Known Issues".

Does Not Build: Deploying to AWS Lambda using the Serverless Application Model (SAM)

Describe the bug

The instructions

To Reproduce

Steps to reproduce the behavior:

  1. Follow steps exactly as documented.
  2. sam build fails

Expected behavior

A functional build

Actual behavior

Error: PutItemFunction failed to build: The command '/bin/sh -c cd /build-lambda && swift package clean && swift build --static-swift-stdlib -c release' returned a non-zero code: 132

Screenshots

N/A

Environment details

Desktop (please complete the following information):

  • M1 Max 32GB MBP
  • Mac Ventura 13.3
  • Docker 4.16.2
  • SAM CLI 1.13.0
  • AWS CLI 2.10.1
  • Swift 5.7.2

Smartphone (please complete the following information):

  • N/A

If possible, minimal yet complete reproducer code (or link to code)

The builds will always fail because the generated Test files have a syntax error in XCTAssertEqual.

Remarks

Multiple Remarks: Incremental compilation has been disabled: it is not compatible with whole module optimization

Swift.org version/commit hash

Additional context

Might it be possible to make the footprint a bit leaner, for the Windows installation?

This is an enhancement to the Swift installation procedure for Windows 10. Below, after describing the concern, I have a request to change Swift - Getting Started. I am new at Swift, and other thoughts are welcome!

Environment

build number: Swift 5.6.1
OS: Windows 10 desktop computer

Issue Description

Installing VS 2019 Free Community Edition causes the install of the IDE, which I do not need or want, and possibly other components. From a reading of the instructions, it seemed to me that the only components I need are the Windows SDK and the Build Tools. I have installed only those, and this is working for me, but of course this should be tested by others.

If that seems reasonable, could you revise the Traditional option on Swift - Getting Started, as shown below? (Or if you prefer, to add this as a third option? following Windows Package Manager and Traditional)

Also, could you add some install details for the Build Tools, and WinSDK? (see below)

Thanks for considering!

Suggested Documentation Fixes

  1. On Swift - Getting Started > On Windows > Dependencies,
    change this:
Visual Studio (provides the Visual C++ SDK/Build Tools for additional headers)

to this:

Visual C++ Build Tools (for additional headers)
  1. On Swift - Getting Started > On Windows > Installation Instructions > Traditional Installation,
    change this (inside the box):
-------
MSVC v142 - VS 2019 C++ x64/x86 build tools (Latest)
-------
Windows 10 SDK (10.0.17763.0)
-------

to this:

-------
Build Tools for Visual Studio 2019 (version 16.11) x64
   vs_buildtools__1022a9f2da084c9eb238c957482fdc73.exe
   https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads
   Note: to download older free software, this requires you to create an account (free to certain groups) for the Visual Studio Dev Essentials program.
-------
Windows 10 SDK, version 1809 (10.0.17763.0)
    winsdksetup-(10.0.17763.0) for Windows 10.exe
    https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
-------
  1. On Swift - Getting Started, various places,
    change all places where it says it needs/depends on 'Visual Studio 2019' to 'the Windows SDK and Build Tools from Visual Studio 2019'.

  2. On Swift - Getting Started > On Windows > Installation Instructions > Traditional Installation,
    under the box with the build tools and Win SDK,
    add:

A note on the Build Tools installer
- This install invokes Visual Studio Installer.
- Go to 'Individual Components' tab.
- Enter 2019 and x64 into the search box to whittle down the offerings.
- Find and select 'MSVC v142 VS 2019 C++ x64/x86 build tools (latest)'.

A note on the Windows SDK installer
- Unselect ARM and .NET

At least, I did not need ARM or .NET. Just another way to slim down the installs.

Order of installs for Windows is not specified

Issue Description

The Traditional Installation instructions for Windows on Getting Started do not specify the order of installs.

In my install, for various reasons, I chose to do the Traditional Install, even though I was installing 5.6.1. In that section there is no explicit step to install Swift after the dependencies, but under "Traditional", in the paragraph starting "Swift has been tested with VS 2019", the Download section was referenced before the big box describing the VS components. Because of that, with no other explicit ordering in the instructions, I installed Swift first, then proceeded to install the dependencies. This led to many problems.

Later I noticed that Swift should be installed as the last step. For example, in section "On Windows > Install using Scoop", installing Swift clearly follows installing the dependencies. And similarly, on page pwsacademy swift-setup, it says to install Swift after the dependencies.

Requested Change

This is for page Getting Started. Assuming that you will be keeping the Traditional Instructions for some time to come...

1. In section: Installing Swift > On Windows > Installation Instructions > Traditional Installation:

change this:
Swift has been tested with Visual Studio 2019. You will need to install Visual Studio with the following components. <<The installer for Swift is available in the Download section. The toolchain on Windows is installed to %SystemDrive%\Library\Developer\Toolchains.>>

to this:

Swift has been tested with Visual Studio 2019. You will need to install Visual Studio with the following components.

.
2. Then just below, insert the following, just above 'Support Files', in order to place it right at the spot you need it (these details are akin to the macOS notes above):

Next install Swift. The installer for Swift is available in the Download section.

The toolchain on Windows is installed to %SystemDrive%\Library\Developer\Toolchains.

This install creates the env var:
SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk

and it adds three directories to the end of the PATH env var:
C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin
C:\Library\Swift-development\bin
C:\Library\icu-69.1\usr\bin

.
3. In Support Files, change this sentence:

You must use the x64 Native Tools for VS2019 Command Prompt to run the following steps.

to this:

You must use the x64 Native Tools for VS2019 Command Prompt, run as Administrator, to run the following steps.

Related Issue

This was originally submitted as 58451.

Environment details

Desktop

  • OS: Windows 10 desktop computer
  • Version: Swift 5.6.1

Python notes in Traditional Instructions for Windows need corrections

Issue Description

The wrong version of Python 3 is specified in "Traditional Installation"" instructions for Windows on Getting Started.

In my install, for various reasons, I chose to do the Traditional Install, even though I was installing Swift 5.6.1. In that section, in the second table, it specifies Python 3 64-bit (3.7.8). I installed as stated, then ran 'lldb Factorial' as shown on Getting Started under section "Using the LLDB Debugger". That elicted the error dialog:

The code execution cannot proceed because python310.dll was not found.

This is correctable by installing Python 3.10.4.

Unfortunately, you can't get 3.10.4 from Visual Studio Installer because only older versions are offered there. This is correctable by downloading that version manually.

Requested Change

This is for page Getting Started. Assuming that we will be keeping the Traditional Instructions for some time to come...

In section: Installing Swift > On Windows > Installation Instructions > Traditional Installation, remove the following reference from the table:

Python 3 64-bit (3.7.8)

Then, just after the table but before "The following additional Visual Studio component is suggested:", insert the following :

Python 3 64-bit 3.10.4 is also recommended, but it isn't available in Visual Studio Installer.

To download:
 - go to https://www.python.org/downloads/release/python-3104/
 - Find the line for Python 3.10.4 (3/24/22)
 - Find the version "Windows Installer (64-bit)"
 - click that to download the file python-3.10.4-amd64.exe

To install, run the installer under Administrator and follow these installer tips:
 - Unselect Install launcher
 - Select Add to PATH
 - Customize the install
 - Unselect Documentation
 - Select pip -- this will be needed below
 - Unselect tcl/tk
 - Unselect Python test suite
 - Unselect py launcher
 - Select Install for all users
 - Select create shortcuts
 - Select add python env vars
 - Select precompile standard lib

When the install is complete, verify that the environment vars are set correctly:

  PATH - the Python directory should be in here (you may want to move it down some, if it's only needed during the use of lldb).  also, (Python-root)\Scripts should be in the PATH, just after the python directory, so that 'pip' is available (will be needed to get the 'six' module, described just below).

  PYTHONHOME - should point to your Python root dir.

  PYTHONPATH - should be:   (your-Python-root)\Lib;(your-Python-root)\Lib\site-packages


Then, install the Python 'six' module, into the site-packages subdirectory.  This is needed by lldb:

Start a Command Prompt, with Run as administrator.  then do:
  cd /d %PYTHONHOME%
  pip install six

Related Issues

This was originally submitted in:

  • 58438 - lldb gets error dialog: The code execution cannot proceed because python310.dll was not found.
  • 58447 - lldb gets error: Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding. error: ModuleNotFoundError: No module named 'encodings'
  • 58448 - lldb gets error: ModuleNotFoundError: No module named 'six'

Environment details

Desktop

  • OS: Windows 10 desktop computer
  • Version: Swift 5.6.1

Consider narrower version filter buttons in evolution dashboard

Currently when filtering by version on the evolution dashboard page, each version button includes the word ‘Swift’:

Screenshot 2023-05-03 at 4 50 04 AM

At present, the word ‘Swift’ ends up repeated 19 times, once per button.

Consider removing ’Swift’ from the button titles, reducing visual clutter and repetition.

In the screenshot below, a minimum size makes the buttons for versions with a single digit the same width as those with two digits.

Screenshot 2023-05-03 at 4 55 21 AM

Alternately all buttons could be uniform size and larger, or no minimum size for the buttons making single digit versions smaller.

If desired for clarity, the heading could become ‘Swift Language Version’ instead of ‘Language Version’.

The screenshot below shows uniform version button sizes and adding the word ’Swift’ to the header:

Screenshot 2023-05-03 at 5 08 44 AM

This screenshot shows no minimum width for the version filter buttons, single digit version are smaller but still large enough as tap targets. This style matches most closely with the status filter buttons and the current version filter buttons:

short-heading-no-min-width-buttons

This shows the same width style for the buttons but makes the section heading more explicit that these buttons refer to the ‘Implemented’ status.

Screenshot 2023-05-03 at 5 41 25 AM

I have an implementation of all of the options, but wanted to propose and discuss here first before formalizing and submitting a PR.

On mobile device scrolling dismisses Swift evolution page filter buttons unexpectedly.

Describe the bug

When viewing https://www.swift.org/swift-evolution on a mobile device, if you display the filter buttons and then scroll, the filter section disappears.

This makes it difficult to scroll all filter buttons into view to use them.

To Reproduce

Steps to reproduce the behavior:

  1. Go to https://www.swift.org/swift-evolution
  2. Click on filter button to right to show filter buttons.
  3. Scroll.
  4. Filter buttons disappear.

Expected behavior

Expected filter buttons to not disappear on scroll.

Actual behavior

Filter buttons disappears on scroll.

Environment details

Smartphone:

  • Device: iPhone 14 Pro
  • OS: iOS 16.3.1
  • Browser Safari

Searching for "Feature Identifier" on swift.org/swift-evolution

Is your feature request related to a problem? Please describe

Proposals may have a new, optional field that defines the feature identifier that allows for Piecemeal adoption of upcoming language improvements

Unfortunately, it is not possible to search for proposals that have a feature identifier. It is also not possible to search for a proposal with a given feature identifier.

Describe the solution you'd like

  • Being able to search and find proposals that have a "Feature Identifier" (a.k.a. upcoming feature flag)
  • Being able to search and find a proposal for a given Feature Identifier

Additional context

Excerpt from Proposals define their own feature identifier

Swift proposal template got amended with a new, optional field that defines the feature identifier:

Feature identifier: UpperCamelCaseFeatureName
Amend the following proposals, which are partially or wholly delayed until Swift 6, with the following feature identifiers:

Several proposals were amended to mention the respective feature identifier

  • SE-0274 "Concise magic file names" (ConciseMagicFile) delayed the semantic change to #file until Swift 6. Enabling this feature changes #file to mean #fileID rather than #filePath.
  • SE-0286 "Forward-scan matching for trailing closures" (ForwardTrailingClosures) delays the removal of the "backward-scan matching" rule of trailing closures until Swift 6. Enabling this feature removes the backward-scan matching rule.
  • SE-0335 "Introduce existential any" (ExistentialAny) delays the requirement to use any for all existentials until Swift 6. Enabling this feature requires any for existential types.
  • SE-0337 "Incremental migration to concurrency checking" (StrictConcurrency) delays some checking of the concurrency model to Swift 6 (with a flag to opt in to warnings about it in Swift 5.x). Enabling this feature is equivalent to -warn-concurrency, performing complete concurrency checking.
  • SE-0352 "Implicitly Opened Existentials" (ImplicitOpenExistentials) expands implicit opening to more cases in Swift 6, because we didn't want to change the semantics of well-formed code in Swift 5.x. Enabling this feature performs implicit opening in these additional cases.
  • SE-0354 "Regex Literals" (BareSlashRegexLiterals) delays the introduction of the /.../ regex literal syntax until Swift 6. Enabling this feature is equivalent to -enable-bare-regex-syntax, making the /.../ regex literal syntax available. If this proposal and SE-0354 are accepted in the same release, -enable-bare-regex-syntax can be completely removed in favor of this approach.

Migrate apple/swift-internals repository into apple/swift-org-website

Now Swift.org website is open source, we should migrate apple/swift-internals into apple/swift-org-website.

  • Migrate the index.md file to documentation/api-design-guidelines
  • Review and migrate the GitHub Issues from apple/swift-internals over to apple/swift-org-website
  • Update the swift.org deployment (remove the swift-internals)
  • Archive the apple/swift-internals repository

Contributor Calendar

Is your feature request related to a problem? Please describe

Contributors and various Group/Team maintainers don’t have a Birds Eye view of meetings going on. Some are welcoming others to join and this could be a great way to display contributor community activities.

Example:
I am a Swift core team member I want to see and interact with a calendar that would have dates of events that appeal to me so that I can be aware and/or attend.

Features:

  • Calendar owners to change their calendar via a YAML file
  • Viewers to download an iCal as a subscription so viewers can subscribe to the entire calendar downloading an .ics file and deciding how often to pull for updates

Describe the solution you'd like

Addition of a calendar to https://www.swift.org/community/ under Community Structure definitions. Open to discussing best location or if a new page would be warranted.

@federicobucchi would like to lead the development for this and use Stencil and look into various open source packages to deliver the rest. A YAML file would power the information/content.

Additional context

Activities to display:

  • Workgroup meetings
  • Team Meetings
  • Release date range
  • Contributor Experience related events like mentoring AMAs and new contributor office hours
  • Other future contributor related meetings and events

What to display

  • Info on how to be added to the meetings
  • Date/time
  • Related communication channels
  • Related meeting notes/forum posts/etc

Other OSS project calendars:

Out of scope

A “community calendar”; this would require a more extensive look at guidelines and process for what is displayed. Definitely think we should go in this direction at some point but this specific use case solves a problem that we can build on top of.

Documentation search

Is your feature request related to a problem? Please describe.
I'm learning Swift and iOS development. I went through the tutorial. Now I want to dive in and start writing code. How can I search the Swift standard library docs?

Describe the solution you'd like
I want a search box in the upper-right corner of swift.org. Entering anything in it will quickly show a search result page with relevant results.

Describe alternatives you've considered
Attempt 1:

  1. I went to www.swift.org
  2. clicked Documentation
  3. clicked Swift resources at Apple.com
  4. under "Swift standard library" clicked View documentation
  5. This yields an index page with core language functions.
  6. I clicked the circle-with-line icon in the upper-right corner,
  7. typed swift http client and hit ENTER
  8. The search result page is long and full of irrelevant results. Promising results:
    • http - This seems to be a page about a constant called http that stores a port number.
    • There are several links back to pages I already visited.
    • Signing the HTTP Request - This is about the Apple News API.
    • There are lots of results about HTTP Live Streaming.

It seems that developer.apple.com search is useless for Swift. It's also slow.

Attempt 2:

  1. I went to www.swift.org
  2. clicked Documentation
  3. under "Swift Language" and "The Swift Programming Language Book" and "Read The Swift Programming Language", clicked Language reference >
  4. No search box.

Attempt 3:

  1. I went to www.swift.org
  2. clicked Documentation
  3. under "Standard Library", clicked Read the Swift standard library reference
  4. This takes me to the same page as attempt 1, with the search box that ignores the "swift" keyword

Searching DDG for swift http client yields random blogs and Stack Overflow.

Additional context

Other languages have really great search:

A few have poor search:

Swift looks like the only major language without any search page at all.

Document `$` and Binding

Is your feature request related to a problem? Please describe.
I need to understand how SwiftUI variable bindings work.

Describe the solution you'd like
Searching for site:docs.swift.org "binding" should return a page that describes the $ symbol
https://duckduckgo.com/?q=site%3Adocs.swift.org+"binding"

Describe alternatives you've considered
I searched a lot and finally found some info at
developer.apple.com > Documentation > SwiftUI > State and Data Flow > Binding .

Additional context

Update `memcached client` project details

Is your feature request related to a problem? Please describe

The binary protocol mentioned in memcached client project in GSoC 2023 is actually deprecated.

Describe the solution you'd like

After mentioning the issue to @FranzBusch on Swift-Forum here, I think we should consider changing the project description to implement memcached client following ASCII Protocol instead of the Binary protocol, and add the following documentation.

[SR-11230] Swift.org community server writing typos

Previous ID SR-11230
Radar None
Original Reporter jayvenn (JIRA User)
Type Bug
Environment

https://swift.org/community/#communication

Typo #1 can be found under the Forums/Announcements.

Typo #2 can be found under the Forums/Server.

Additional Detail from JIRA
Votes 0
Component/s Project Infrastructure
Labels Bug, Website
Assignee None
Priority Medium

md5: 8771b41f95b5c9dbfeac4783dc1a2367

Issue Description:

Propose changes:

1.

For announcements relevant to developers such as release announcments, branching, and infrastructure updates.

->

For announcements relevant to developers such as release announcements, branching, and infrastructure updates.

2.

For developers to discuss erver focused capabilities supported by Swift.org and the Server work group.

->

For developers to discuss server focused capabilities supported by Swift.org and the Server work group.

[SR-3778] Linux Swift installation instructions need a minor update

Previous ID SR-3778
Radar None
Original Reporter @heckj
Type Bug
Environment

Ubuntu 16.04
swift 3.1 development snapshot installed
Vagrant virtual machine
(explicit setup at https://github.com/heckj/vagrant-ubuntu-swift-dev)

Additional Detail from JIRA
Votes 2
Component/s
Labels Bug, Website
Assignee None
Priority Medium

md5: 6dcb718323ce3ab0e52377f49bc1840c

Issue Description:

at https://swift.org/download/#using-downloads under the Linux instructions, the first step reports a couple of dependencies that need to be installed:

  • `sudo apt-get install clang libicu-dev`

With the 3.1 swift snapshot, those dependencies are necessary but not sufficient, also requiring python-dev to utilize swift REPL from the installation, at least on Ubuntu 16.04.

The updated line should read:

  • `sudo apt-get install clang libicu-dev python-dev`

Missing overflow style for table contents

Describe the bug
I noticed the current website seems missing overflow style for table contents, some page may looks weird especially on mobile browsers (or desktop with small window width).

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://www.swift.org/getting-started/
  2. The entire page may look weird, scroll down to 'On Linux' section
  3. See tables that break the page layout

Expected behavior
The correct overflow style should be applied to the tables contents which fixes page layout, personally I think add this 2 lines code would be fine:

...
    table {
         display: block;
         overflow-x: auto;
...

(Commit: Unbinilium@4ef9d6c)

Screenshots
Untitled

Summary marker not showing on Chrome

Describe the bug
The detail-marker of summary is not showing on Chrome, but Safari is fine.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://www.swift.org/download/ using Safari
  2. Scroll down to somewhere which has a drop-down detail
  3. Do the same thing on Chrome, you may find that Chrome is now showing the detail-marker (a small triangle)

Expected behavior
The detail-marker (a small triangle) is showing properly on Chrome.

Screenshots
Chrome is on the right side.

Screen Shot 2022-05-25 at 14 01 30

Desktop (please complete the following information):

  • OS: macOS
  • Browser Chrome
  • Version 101.0.4951.64

Additional context
It seems add a display: revert style attribute to summary elements would solve this issue, but I'm not sure if this will bring new problems.

Installation instructions are wrong at https://www.swift.org/download/

Quoting from that page:

Download the latest package release.

Well, presumably these instructions should work for any of the toolchains published, yeah?

Run the package installer, which will install an Xcode toolchain into /Library/Developer/Toolchains/.
An Xcode toolchain (.xctoolchain) includes a copy of the compiler, lldb, and other related tools needed to provide a cohesive development experience for working in a specific version of Swift.

It's not clear that it does; at least, having installed a 5.8 development snapshot, this command finds nothing:

 find  /Library/Developer/Toolchains/swift-5.8-DEVELOPMENT-SNAPSHOT-2022-12-29-a.xctoolchain -name swiftc

Open Xcode’s Preferences, navigate to Components > Toolchains, and select the installed Swift toolchain.

There's no "Preferences" in XCode. There's "Settings," but no "Components" in there. You want "XCode > Toolchains"

Selecting a Swift toolchain affects the Xcode IDE only. To use the Swift toolchain with command-line tools, use xcrun --toolchain swift and xcodebuild -toolchain swift,

nope:

$ xcrun --toolchain swift
xcrun: error: no utility name specified
Usage: xcrun [options] <tool name> ... arguments ...

also not this:

xcrun --toolchain /Library/Developer/Toolchains/swift-5.8-DEVELOPMENT-SNAPSHOT-2022-12-29-a.xctoolchain swift --version

(still chooses Swift 5.7)

Dredging my memory for how this is actually done, I open the Info.plist inside the toolchain package, find a magic toolchain identifier, and try this:

$ xcrun --toolchain org.swift.58202212291a swift --version
xcrun: error: can't exec '/Library/Developer/Toolchains/swift-5.8-DEVELOPMENT-SNAPSHOT-2022-12-29-a.xctoolchain/usr/libexec/swift' (errno=Permission denied)
$ TOOLCHAINS=org.swift.58202212291a xcrun swift --version
xcrun: error: can't exec '/Library/Developer/Toolchains/swift-5.8-DEVELOPMENT-SNAPSHOT-2022-12-29-a.xctoolchain/usr/libexec/swift' (errno=Permission denied)

or add the Swift toolchain to your path as follows:

$ export PATH=/Library/Developer/Toolchains/swift-latest.xctoolchain/usr/bin:"${PATH}"

Yeah, that does nothing to help me because apparently there's no swift executable in there.

Swift Programming Language book additional formats PDF, AZW & MOBI

Is your feature request related to a problem? Please describe.

The Swift Programming Language book is the authoritative reference for Swift, offering a guided tour, a comprehensive guide, and a formal reference of the language. The problem is Not everybody is doing Swift development on Apple hardware and software. If Swift is going to be a language that is cross-platform friendly, The Swift Programming Language book needs to be as well.

Describe the solution you'd like

Provide the Swift Programming Language book in additional common formats such as

  • PDF
  • AZW
  • MOBI

Describe alternatives you've considered

Provide links to community-generated additional formats of the Swift Programming Language book such as
- PDF by appsdissected

Swift on Server Guides links are 404

Describe the bug

Swift on Server Guides links are 404

To Reproduce

Steps to reproduce the behavior:

  1. Go to Swift on Server Guides
  2. Click on Setup and code editing
  3. See error404

Expected behavior

Should have the guide displayed

Actual behavior

HTTP 404 file not found

Screenshots

Environment details

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

If possible, minimal yet complete reproducer code (or link to code)

Swift.org version/commit hash

Additional context

In LLDB section of Getting Started, modify instructions for Windows 10

Page and Section

Page: Swift - Getting Started
Section: Using the LLDB Debugger

Requested Change

Where it says to run:

swiftc -g Factorial.swift

please convert these instructions to be platform based, perhaps using the On macOS/On Linux/On Windows technique used elsewhere on the page. Then in the Windows section, replace the swiftc command with the following:

set SWIFTFLAGS=-sdk %SDKROOT% -I %SDKROOT%\usr\lib\swift -L %SDKROOT%\usr\lib\swift\windows
swiftc -g -use-ld=lld -Xlinker -debug:dwarf Factorial.swift -o Factorial.exe %SWIFTFLAGS%

The "ls" command should also be replaced with the "dir" command and its command output.

Why Needed

Without the "SWIFTFLAGS" options, on Windows 10 swiftc gets:
error: clang: error: no such file or directory: 'C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows\x86_64\swiftrt.obj'. :0: error: link command failed with exit code 1 (use -v to see invocation)

Without the "-o", swiftc produces an executable file with no .exe extension.

I found these options in: Compiling a simple hello.swift on Windows

If you use "SWIFTFLAGS" and "-o", but without the "-use-ld=lld -Xlinker -debug:dwarf", on Windows 10 the lldb breakpoint command "b 2" (as shown in Getting Started) gets:
error: No selected frame to use to find the default file. error: No file supplied and no default file available.
Most breakpoint commands fail similarly, I did find one that does not elicit an error: "b main". However after giving the "r" run command, lldb breaks at main, but then shows assembly code instead of swift source code.

I found these options in the build commands made available in VS Code when you have the 'Swift' extension. (THANKS!)

Environment

This is needed for Swift 5.6.1 on Windows 10, and probably prior versions.

References

These changes for Getting Started were first requested in the following issues, before Getting Started was open-sourced:
SWIFTFLAGS/-o -- apple/swift#58435
-use-ld=lld -Xlinker -debug:dwarf -- apple/swift#58449

Issue with Windows installation instructions

Describe the bug

I had some issues following along with the installation instructions for Swift 5.7 on Windows 11:

First, the following command did not work:

winget install Python.Python.3 --version 3.10.2150.0

There is no package with ID Python.Python.3. In order to install Python 3.10, I had to use this command instead:

winget install Python.Python.3.10

Also, installing Python doesn't seem to install the pip command, so this fails:

pip install six

Instead, I had to use the following commands to install pip and six:

python -m ensurepip
python -m pip install six

Are these the correct workarounds?

broken link from SwiftPM details to semver.org

Describe the bug

On the page https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html#version, there's a link to semver.org that doesn't prefix the https://, which results in a broken link that points to https://docs.swift.org/package-manager/PackageDescription/www.semver.org instead of https://www.semver.org.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html#version
  2. Click on 'semver.org' link
  3. See error (404)

Expected behavior
Link navigates to https://www.semver.org

[SR-1440] swift.org/compiler-stdlib typos

Previous ID SR-1440
Radar None
Original Reporter phycodurus (JIRA User)
Type Bug
Additional Detail from JIRA
Votes 0
Component/s Project Infrastructure
Labels Bug, Website
Assignee None
Priority Medium

md5: 2dfe82ef338cf75b689f461fc4dbeacc

Issue Description:

https://swift.org/compiler-stdlib/

  1. In section Compiler Architecture: "As a whole, the Swift compiler in is principally responsible ..."

  2. In section Compiler Architecture/Parsing: (subj/verb agreement) - "The parser is responsible ..., and emit emits ..."

editorial comment and suggestion: In addition to these trivial grammatical errors, there are a number of stylistic issues. Placing the swift.org website into a github repo would facilitate more general improvements via pull requests. (If that's been done, please excuse me. I looked but didn't find it).

Merge duplicated installation instructions

Currently we're having two copies of installation instructions, in getting-started and download. This is not ideal and can be easily out of sync (Windows part is already out of sync now).

It would be better to provide single source of truth for that.

Detail section controls are not visible in Firefox

Describe the bug

As described in a forums post by @Kelvin13, "More Detail" controls in articles are not visible in Firefox.

To Reproduce

Steps to reproduce the behavior:

  1. Open Firefox.
  2. Go to https://www.swift.org/documentation/api-design-guidelines/

Expected behavior

"More Detail" controls are visible.

Actual behavior

"More Detail" controls are not visible.

Screenshots

image

(Firefox 107.0 left, Safari 16.1 right)

Environment details

Desktop:

  • OS: macOS
  • Browser: Firefox
  • Version: 107.0

[SR-1987] Link to "Swift standard library changes" in blog post "Swift 3 API Design Guidelines" is a 404

Previous ID SR-1987
Radar None
Original Reporter marcpalmer (JIRA User)
Type Bug
Additional Detail from JIRA
Votes 0
Component/s Project Infrastructure
Labels Bug, Website
Assignee None
Priority Medium

md5: 99390014b5aafe71c5d839940afe96e8

Issue Description:

The link in the "Swift 3 API Design Guidelines" blog post at https://swift.org/blog/swift-3-api-design/ is to https://github.com/apple/swift/tree/swift-3-api-guidelines but that is 404.

Meta tag, Open Graph, and Twitter sharing metadata problems

As part of looking over whether we should merge #162, I noticed we have some problems with how we are using our meta tags, including Open Graph and Twitter tags.

When people share URLs from Swift.org, they currently use the site description for the Open Graph and Twitter meta tags, meaning the Mentorship page previews using the site title and site description:

Screenshot 2023-01-14 at 19 03 21@2x

There are several things we could do better:

  • Tweak the conditional meta tags around lines 36 and 49 of base.html, only falling back to the site title and description when absolutely nothing else is available.
  • Attempt to get auto-excerpts working for pages that are not blog posts. I’m not quite sure how they are working for blog posts right now since we don’t use an excerpt_separator. This needs a little investigation.
  • Every page should already have a sensible title, so even without automated excerpts, we should change it so we use the page title in Open Graph and Twitter meta tags.
  • Stretch Goal: We should consider adding custom explicit excerpts for pages that get linked to a lot, like the workgroup pages, getting started, and community pages.

Previous Swift releases hard to find

Describe the bug

Previous Swift versions are indented which lets them appear like belonging to the RPM section instead of the general Releases.

Expected behavior

These older Swift releases should be at the same level like the Swift 5.8 release.

Actual behavior

They are nesting and it looks like they belong to the previous CentOS 7 section.

Screenshots

Screenshot 2023-04-02 at 15 27 25

Environment details

Desktop (please complete the following information):

  • OS: macOS 13.3
  • Browser: Safari
  • Version: 16.4

Swift.org version/commit hash

1069e00

[SR-3384] "Active Signing Keys" is Confusing

Previous ID SR-3384
Radar None
Original Reporter gerrior (JIRA User)
Type Bug
Environment

https://swift.org/download/

Additional Detail from JIRA
Votes 0
Component/s Project Infrastructure
Labels Bug, Website
Assignee None
Priority Medium

md5: 747e89116d6a9d4e4983a3ee070bf184

blocks:

  • SR-2806 Wget Lines Are Partially Obscured

Issue Description:

Had to re-install Swift today on Ubuntu and found myself tripping over this section again. I believe a descriptive paragraph would help to clarify the purpose. My draft will show my ignorance but will help illustrate my point. Proposed paragraph to add:

This section is optional. The wget of https://swift.org/keys/all-keys.asc documented above pulls down these keys.

Support tags in blog posts

Tags will make it easier to discover blog post for specific topics.

  • Support tags in blogs
  • Tag filter option
  • Document the tags

Add checking for conflicting URLs to CI

As mentioned in #41, it might be good for the CI to check for the warning message when Jekyll spots a conflicting URL. I just checked, and the jekyll build command does not return an error code in this situation, so we may need to resort to checking the output of the build command, which looks something like this:

Conflict: The following destination is shared by multiple files.
		The written file may end up with unexpected contents.
		/Users/dave/Developer/SwiftOrgWebsite/_site/blog/sswg-update/index.html
		 - /Users/dave/Developer/SwiftOrgWebsite/_posts/2019-10-31-sswg-update.md
		 - /Users/dave/Developer/SwiftOrgWebsite/_posts/2022-04-19-sswg-update.md

To reproduce this, there is a duplicate post in commit 48c41a8 (and others, but it's definitely there in that one).

RSS Feed

Is your feature request related to a problem? Please describe

I'd like to be notified when there are new posts at https://www.swift.org/blog/. The footer currently has a feed icon which links to https://www.swift.org/atom.xml. However, the tools I use only support RSS, not Atom. So I am not currently able to subscribe.

image

Describe the solution you'd like

Please add an additional RSS feed to go along with the current Atom feed for RSS users.

Describe alternatives you've considered

I've considered using an Atom to RSS converter service, but would prefer to subscribe directly and officially at the source.

Additional context

I'm not familiar with the implementation details so I might be wrong, but perhaps this could be implemented by adding another front matter option like the current atom: true?

Swift Evolution Dashboard filter status string improvements

This issue is a follow-on from PR #284

Currently when the proposal status filter is turned on, a label appears next to it with the static text "Filtered By:" and a link that either lists the filtered proposal statuses or if there are too many of the chosen, the number of filters.

The upcoming filter flag filter added in PR #284 lists the filter status in the list header.

This issue is to:

  1. Move the status string of the status/version filter to the list header
  2. Make it more clear that the link next to the status filter button is used to edit the filter

The first part will put both filter status strings in a consistent place in the interface. It also gives the status/version filter more room to present its status string, allowing for more informative status.

The second part makes it more clear how to edit the status/version filter.

@kaishin @dempseyatgithub

Swift trainning question error

Describe the bug

On the swift tutorials website one question seems to be wrong
https://developer.apple.com/tutorials/app-dev-training/displaying-data-in-a-list

To Reproduce

go to website
https://developer.apple.com/tutorials/app-dev-training/displaying-data-in-a-list and the wrong answer will be displayed
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

ForEach(namedFonts) { namedFont in
Text(namedFont.name)
}

Actual behavior

ForEach(sessions, id: .sessionNumber) { session in
Text(session.title)
}

Screenshots

Screen Shot 2022-10-18 at 11 56 20 am

Environment details

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

If possible, minimal yet complete reproducer code (or link to code)

Swift.org version/commit hash

Additional context

Missing webrick?

Installed ruby via rbenv.

rbenv versions
  system
* 3.0.2 (set by /Users/lex/.rbenv/version)

Then bundle install without errors.

It failed to run LC_ALL=en_us.UTF-8 bundle exec jekyll serve:
servlet.rb:3:in require': cannot load such file -- webrick (LoadError)

Error output bash Configuration file: /Users/lex/g/swift-org-website/_config.yml Source: /Users/lex/g/swift-org-website Destination: /Users/lex/g/swift-org-website/_site Incremental build: disabled. Enable with --incremental Generating... done in 1.477 seconds. Auto-regeneration: enabled for '/Users/lex/g/swift-org-website' ------------------------------------------------ Jekyll 4.2.1 Please append `--trace` to the `serve` command for any additional information or backtrace. ------------------------------------------------ /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve/servlet.rb:3:in `require': cannot load such file -- webrick (LoadError) from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve/servlet.rb:3:in `' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve.rb:179:in `require_relative' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve.rb:179:in `setup' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve.rb:100:in `process' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `each' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/jekyll-4.2.1/exe/jekyll:15:in `' from /Users/lex/.rbenv/versions/3.0.2/bin/jekyll:23:in `load' from /Users/lex/.rbenv/versions/3.0.2/bin/jekyll:23:in `' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli/exec.rb:58:in `load' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli/exec.rb:58:in `kernel_load' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli/exec.rb:23:in `run' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli.rb:484:in `exec' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli.rb:31:in `dispatch' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/cli.rb:25:in `start' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/exe/bundle:48:in `block in ' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/lib/bundler/friendly_errors.rb:103:in `with_friendly_errors' from /Users/lex/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/bundler-2.3.8/exe/bundle:36:in `' from /Users/lex/.rbenv/versions/3.0.2/bin/bundle:23:in `load' from /Users/lex/.rbenv/versions/3.0.2/bin/bundle:23:in `'

Once I add webrick with bundle everything works great.
bundle add webrick

Conflict with post permalinks when generating the site

There are currently two conflicting post URLs for these two blog posts:

  • _posts/2019-10-31-sswg-update.md
  • _posts/2022-04-19-sswg-update.md

This generates a warning (see below) when generating the site, but it also means that the old 2019 post by Tanner on the live site now links to the new post by Tim.

The warning:

$ LC_ALL=en_us.UTF-8 be jekyll serve
Configuration file: /Users/dave/Developer/SwiftOrgWebsite/_config.yml
            Source: /Users/dave/Developer/SwiftOrgWebsite
       Destination: /Users/dave/Developer/SwiftOrgWebsite/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
          Conflict: The following destination is shared by multiple files.
                    The written file may end up with unexpected contents.
                    /Users/dave/Developer/SwiftOrgWebsite/_site/blog/sswg-update/index.html
                     - /Users/dave/Developer/SwiftOrgWebsite/_posts/2019-10-31-sswg-update.md
                     - /Users/dave/Developer/SwiftOrgWebsite/_posts/2022-04-19-sswg-update.md
                    
                    done in 1.618 seconds.
 Auto-regeneration: enabled for '/Users/dave/Developer/SwiftOrgWebsite'
    Server address: http://127.0.0.1:4000
  Server running... press ctrl-c to stop.

This issue has the effect of completely removing the older post from the live site, so any external links to that post now point at the new one.

To fix it without too much disruption, I would suggest that we rename the 2019 post file to _posts/2019-10-31-sswg-update-2019.md, which gives it the URL blog/sswg-update-2019/ and leave the 2022 post alone. There are more likely to be recent links to that post using that URL, and breaking the permalink so soon after publishing isn’t great.

I have this change made locally on a branch if you’d like me to put it in as a PR.

I wonder if we could also update CI to check for this conflict warning so that this doesn’t happen again accidentally.

Add security.txt

The security.txt file is becoming a well known standard for finding security contact information for sites and IMO it would be a good idea for swift.org to adopt this as well to make it easy for researchers to reach out if they find any issues on the site or the language itself.

Automate formatting to improve code style consistency

Currently there exists numerous inconsistencies in formatting across source files. These affect markdown files as well as font-end JS and SCSS code.

Describe the solution you'd like

We can introduce a formatting config for various file types and check formatting in either a pre-commit hook or as a PR check.

Consider supporting version ranges in evolution page search fragment

Currently, on the evolution dashboard page, search queries as well as all filters generate and accept a fragment in the URL that defines the search.

For example searching for proposals with the word ’regex’ that are Implemented:
http://www.swift.org/swift-evolution/#?status=implemented&search=regex

This is also true of the Swift version filters for implemented proposals:
http://www.swift.org/swift-evolution/#?version=5.3,5.4,5.5

The comma-separated list of versions can get cumbersome and long, especially when trying to express a range of releases.

For example a link that will show all proposals with an upcoming feature flag that is valid in Swift 5.8 would be:

https://www.swift.org/swift-evolution/#?version=5,5.1,5.2,5.3,5.4,5.5,5.5.2,5.6,5.7,5.8&upcoming=true

It would be useful if the version could accept a range of versions in addition to individual versions.
https://www.swift.org/swift-evolution/#?version=5.1-5.8&upcoming=true

Multiple individual versions and version ranges can be used and combined separated by a comma:
https://www.swift.org/swift-evolution/#?version=2.2-3,4.2,5.1-5.8&upcoming=true

I have an implementation of this but wanted to open this issue to discuss before opening a PR.

Cmd + Left-click does not open links in new tab

Congratulations on open-sourcing swift.org! 🎉 I think it's a great decision to involve the community in this project. Looking forward to helping out in any way I can. 🙂

Describe the bug
I noticed that Cmd (⌘) + Left-click does not open (internal) links in a new tab. External links work fine.

Update: It seems like this also happens on external links (but not always?). I experienced it at https://www.swift.org/blog/swift-async-algorithms/ while clicking the links at the bottom in the Related Proposals section.

To Reproduce
Steps to reproduce the behavior:

  1. Go to https://www.swift.org/blog/website-open-source/
  2. Hold Cmd (⌘) and left-click on any internal link, e.g. Swift website work group (SWWG) in the first section

Expected behavior
The clicked link should open in a new tab behind the current one, but instead, it opens in the same tab, replacing the current location.

If you disable JavaScript, the link opens correctly in a new tab (see video below).

Video

CleanShot.2022-03-27.at.11.42.35.mp4

Desktop (please complete the following information):

  • OS: macOS 12.2.1
  • Browser: Safari
  • Version: 5.3 (17612.4.9.1.8)

Additional context
As I expected, this issue is coming from one of the JS scripts.

I'm suspecting https://github.com/cferdinandi/gumshoe is the culprit. I notice the website is using an old version (3.0.0) of gumshoe, so updating might fix the issue. I tried to run the website locally on my M1 mac to update gumshoe and see if it fixes it, but I ran into issues with Ruby.

Edit: See #18 (comment) for an update.

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.