Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Update: HTTP -> HTTPS #421

Merged
merged 1 commit into from
Dec 26, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This is the Atom book. Everything you need to know in order to use and hack Atom is in this Flight Manual.

You can find this book online at: http://flight-manual.atom.io
You can find this book online at: https://flight-manual.atom.io

This book is open source under a Creative Commons license.

Expand Down
2 changes: 1 addition & 1 deletion content/behind-atom/sections/keymaps-in-depth.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ When the event handler observes that the cursor does not follow a valid prefix,

#### Overriding Atom's Keyboard Layout Recognition

Sometimes the problem isn't mapping the command to a key combination, the problem is that Atom doesn't recognize properly what keys you're pressing. This is due to [some limitations in how Chromium reports keyboard events](http://blog.atom.io/2016/10/17/the-wonderful-world-of-keyboards.html). But even this can be customized now.
Sometimes the problem isn't mapping the command to a key combination, the problem is that Atom doesn't recognize properly what keys you're pressing. This is due to [some limitations in how Chromium reports keyboard events](https://blog.atom.io/2016/10/17/the-wonderful-world-of-keyboards.html). But even this can be customized now.

You can add the following to your `init.coffee` to send <kbd class="platform-all">Ctrl+@</kbd> when you press <kbd class="platform-all">Ctrl+Alt+G</kbd>:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ If you think you know which package is causing the issue you are reporting, feel

##### Cloning

The first step is creating your own clone. For some packages, you may also need to install the [requirements necessary for building Atom](http://flight-manual.atom.io/hacking-atom/sections/hacking-on-atom-core/#building) in order to run `apm install`.
The first step is creating your own clone. For some packages, you may also need to install the [requirements necessary for building Atom](https://flight-manual.atom.io/hacking-atom/sections/hacking-on-atom-core/#building) in order to run `apm install`.

For example, if you want to make changes to the `tree-view` package, fork the repo on your github account, then clone it:

Expand Down
4 changes: 2 additions & 2 deletions content/hacking-atom/sections/converting-from-textmate.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Converting from TextMate
---
### Converting from TextMate

It's possible that you have themes or grammars from [TextMate](http://macromates.com) that you like and use and would like to convert to Atom. If so, you're in luck because there are tools to help with the conversion.
It's possible that you have themes or grammars from [TextMate](https://macromates.com) that you like and use and would like to convert to Atom. If so, you're in luck because there are tools to help with the conversion.

#### Converting a TextMate Grammar Bundle

Expand All @@ -21,7 +21,7 @@ You can now change directory into `language-r` to see the converted bundle. Once

#### Converting a TextMate Syntax Theme

This section will go over how to convert a [TextMate](http://macromates.com) theme to an Atom
This section will go over how to convert a [TextMate](https://macromates.com) theme to an Atom
theme.

##### Differences
Expand Down
8 changes: 4 additions & 4 deletions content/hacking-atom/sections/creating-a-grammar.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Grammars power Atom's syntax highlighting. Each grammar provides a set of _regex

Grammars depend heavily on regexes, and you should be comfortable with interpreting and writing regexes before continuing. Note that Atom uses the Oniguruma engine, which is very similar to the PCRE or Perl regex engines. Here are some resources to help you out:

* http://www.regular-expressions.info/tutorial.html provides a comprehensive regex tutorial
* http://www.rexegg.com/regex-quickstart.html contains a cheat sheet for various regex expressions
* https://www.regular-expressions.info/tutorial.html provides a comprehensive regex tutorial
* https://www.rexegg.com/regex-quickstart.html contains a cheat sheet for various regex expressions
* https://regex101.com/ or https://regexr.com/ allows live prototyping

Grammar files are written in the [CSON](https://github.com/bevry/cson#what-is-cson) or [JSON](http://www.json.org/) format. Whichever one you decide to use is up to you, but this tutorial will be written in CSON.
Grammar files are written in the [CSON](https://github.com/bevry/cson#what-is-cson) or [JSON](https://www.json.org/) format. Whichever one you decide to use is up to you, but this tutorial will be written in CSON.

#### Create the Package

Expand Down Expand Up @@ -53,7 +53,7 @@ To start, let's add a basic pattern to tokenize the words `Flight Manual` whenev
]
```

`match` is where your regex is contained, and `name` is the scope name that is to be applied to the entirety of the match. More information about scope names can be found in [Section 12.4 of the TextMate Manual](http://manual.macromates.com/en/language_grammars).
`match` is where your regex is contained, and `name` is the scope name that is to be applied to the entirety of the match. More information about scope names can be found in [Section 12.4 of the TextMate Manual](https://manual.macromates.com/en/language_grammars).

{{#tip}}

Expand Down
2 changes: 1 addition & 1 deletion content/hacking-atom/sections/hacking-on-atom-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ In order to build Atom from source, you need to have a number of other requireme
* The `python.exe` must be available at `%SystemDrive%\Python27\python.exe`. If it is installed elsewhere create a symbolic link to the directory containing the `python.exe` using: `mklink /d %SystemDrive%\Python27 D:\elsewhere\Python27`
* 7zip (7z.exe available from the command line) - for creating distribution zip files
* Visual Studio, either:
* [Visual C++ Build Tools 2015](http://landinghub.visualstudio.com/visual-cpp-build-tools)
* [Visual C++ Build Tools 2015](https://landinghub.visualstudio.com/visual-cpp-build-tools)
* [Visual Studio 2013 Update 5](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs) (Express Edition or better)
* [Visual Studio 2015](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs) (Community Edition or better)

Expand Down
2 changes: 1 addition & 1 deletion content/hacking-atom/sections/iconography.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Atom comes bundled with the [Octicons 4.4.0](https://github.com/github/octicons/

#### Overview

In the [Styleguide](http://flight-manual.atom.io/hacking-atom/sections/creating-a-theme/#atom-styleguide) under the "Icons" section you'll find all the Octicons that are available.
In the [Styleguide](https://flight-manual.atom.io/hacking-atom/sections/creating-a-theme/#atom-styleguide) under the "Icons" section you'll find all the Octicons that are available.

![Octicons in the Styleguide](../../images/iconography.png "Octicons in the Styleguide")

Expand Down
4 changes: 2 additions & 2 deletions content/hacking-atom/sections/package-word-count.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Not every package will have (or need) all of these directories and the package g

##### `package.json`

Similar to [Node modules](http://en.wikipedia.org/wiki/Npm_(software)), Atom packages contain a `package.json` file in their top-level directory. This file contains metadata about the package, such as the path to its "main" module, library dependencies, and manifests specifying the order in which its resources should be loaded.
Similar to [Node modules](https://en.wikipedia.org/wiki/Npm_(software)), Atom packages contain a `package.json` file in their top-level directory. This file contains metadata about the package, such as the path to its "main" module, library dependencies, and manifests specifying the order in which its resources should be loaded.

In addition to some of the regular [Node `package.json` keys](https://docs.npmjs.com/files/package.json) available, Atom `package.json` files have their own additions.

Expand Down Expand Up @@ -110,7 +110,7 @@ Your package's top-level module is a singleton object that manages the lifecycle
Your package's top-level module can implement the following basic methods:

* `activate(state)`: This **optional** method is called when your package is activated. It is passed the state data from the last time the window was serialized if your module implements the `serialize()` method. Use this to do initialization work when your package is started (like setting up DOM elements or binding events).
* `initialize(state)`: (Available in Atom 1.14 and above) This **optional** method is similar to `activate()` but is called earlier. Whereas activation occurs after the workspace has been deserialized (and can therefore happen after [your package's deserializers](http://flight-manual.atom.io/behind-atom/sections/serialization-in-atom/#serialization-methods) have been called), `initialize()` is guaranteed to be called before everything. Use `activate()` if you want to be sure that the workspace is ready; use `initialize()` if you need to do some setup prior to your deserializers or view providers being invoked.
* `initialize(state)`: (Available in Atom 1.14 and above) This **optional** method is similar to `activate()` but is called earlier. Whereas activation occurs after the workspace has been deserialized (and can therefore happen after [your package's deserializers](https://flight-manual.atom.io/behind-atom/sections/serialization-in-atom/#serialization-methods) have been called), `initialize()` is guaranteed to be called before everything. Use `activate()` if you want to be sure that the workspace is ready; use `initialize()` if you need to do some setup prior to your deserializers or view providers being invoked.
* `serialize()`: This **optional** method is called when the window is shutting down, allowing you to return JSON to represent the state of your component. When the window is later restored, the data you returned is passed to your module's `activate` method so you can restore your view to where the user left
off.
* `deactivate()`: This **optional** method is called when the window is shutting down. If your package is watching any files or holding external resources in any other way, release them here. If you're just subscribing to things on window, you don't need to worry because that's getting torn down anyway.
Expand Down
4 changes: 2 additions & 2 deletions content/hacking-atom/sections/publishing.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Now let's review what the `apm publish` command does:

1. Registers the package name on atom.io if it is being published for the first time.
2. Updates the `version` field in the `package.json` file and commits it.
3. Creates a new [Git tag](http://git-scm.com/book/en/Git-Basics-Tagging) for the version being published.
3. Creates a new [Git tag](https://git-scm.com/book/en/Git-Basics-Tagging) for the version being published.
4. Pushes the tag and current branch up to GitHub.
5. Updates atom.io with the new version being published.

Expand Down Expand Up @@ -54,6 +54,6 @@ The `minor` option to the publish command tells apm to increment the second numb

The `patch` option to the publish command tells apm to increment the third number of the version before publishing so the published version will be `0.0.1` and the Git tag created will be `v0.0.1`.

Use `major` when you make a change that breaks backwards compatibility, like changing defaults or removing features. Use `minor` when adding new functionality or options, but without breaking backwards compatibility. Use `patch` when you've changed the implementation of existing features, but without changing the behaviour or options of your package. Check out [semantic versioning](http://semver.org) to learn more about best practices for versioning your package releases.
Use `major` when you make a change that breaks backwards compatibility, like changing defaults or removing features. Use `minor` when adding new functionality or options, but without breaking backwards compatibility. Use `patch` when you've changed the implementation of existing features, but without changing the behaviour or options of your package. Check out [semantic versioning](https://semver.org) to learn more about best practices for versioning your package releases.

You can also run `apm help publish` to see all the available options and `apm help` to see all the other available commands.
8 changes: 4 additions & 4 deletions content/hacking-atom/sections/writing-specs.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ title: Writing specs

We've looked at and written a few specs through the examples already. Now it's time to take a closer look at the spec framework itself. How exactly do you write tests in Atom?

Atom uses [Jasmine](http://jasmine.github.io/1.3/introduction.html) as its spec framework. Any new functionality should have specs to guard against regressions.
Atom uses [Jasmine](https://jasmine.github.io/1.3/introduction.html) as its spec framework. Any new functionality should have specs to guard against regressions.

#### Create a New Spec

Expand Down Expand Up @@ -43,7 +43,7 @@ describe "when a test is written", ->

##### Add One or More Expectations

The best way to learn about expectations is to read the [Jasmine documentation](http://jasmine.github.io/1.3/introduction.html#section-Expectations) about them. Below is a simple example.
The best way to learn about expectations is to read the [Jasmine documentation](https://jasmine.github.io/1.3/introduction.html#section-Expectations) about them. Below is a simple example.

```coffee
describe "when a test is written", ->
Expand Down Expand Up @@ -146,7 +146,7 @@ describe "fs.readdir(path, cb)", ->
expect(spy).toHaveBeenCalledWith(null, ['example.coffee'])
```

For a more detailed documentation on asynchronous tests please visit the [Jasmine documentation](http://jasmine.github.io/1.3/introduction.html#section-Asynchronous_Support).
For a more detailed documentation on asynchronous tests please visit the [Jasmine documentation](https://jasmine.github.io/1.3/introduction.html#section-Asynchronous_Support).

#### Running Specs

Expand All @@ -163,7 +163,7 @@ describe "when a test is written", ->

##### Running on CI

It is now easy to run the specs in a CI environment like Travis and AppVeyor. See the [Travis CI For Your Packages](http://blog.atom.io/2014/04/25/ci-for-your-packages.html) and [AppVeyor CI For Your Packages](http://blog.atom.io/2014/07/28/windows-ci-for-your-packages.html) posts for more details.
It is now easy to run the specs in a CI environment like Travis and AppVeyor. See the [Travis CI For Your Packages](https://blog.atom.io/2014/04/25/ci-for-your-packages.html) and [AppVeyor CI For Your Packages](http://blog.atom.io/2014/07/28/windows-ci-for-your-packages.html) posts for more details.

##### Running via the Command Line

Expand Down
2 changes: 1 addition & 1 deletion content/shadow-dom/sections/removing-shadow-dom-styles.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,4 @@ atom-text-editor .my-class.my-class {
#### When should I migrate my theme/package?

- If you already want to test the migration on master or Beta channel, make sure to change your `package.json` file to `"engines": { "atom": ">=1.13.0 <2.0.0" }`. This will prevent Atom from updating your theme or package before the user also updates Atom to version `1.13`.
- Or you can wait until Atom `1.13` reaches __Stable__. Check [blog.atom.io](http://blog.atom.io/) to see if `1.13` already has been released. Don't worry if you're a bit late, Atom will transform the deprecated selectors automatically to avoid breaking any themes or packages. But users will start to see a deprecation warning in [deprecation-cop](https://github.com/atom/deprecation-cop).
- Or you can wait until Atom `1.13` reaches __Stable__. Check [blog.atom.io](https://blog.atom.io/) to see if `1.13` already has been released. Don't worry if you're a bit late, Atom will transform the deprecated selectors automatically to avoid breaking any themes or packages. But users will start to see a deprecation warning in [deprecation-cop](https://github.com/atom/deprecation-cop).
Original file line number Diff line number Diff line change
Expand Up @@ -608,4 +608,4 @@ atom.workspaceView.command 'core:close core:cancel', ->

#### Upgrading your stylesheet's selectors

Many selectors have changed, and we have introduced the [Shadow DOM](http://blog.atom.io/2014/11/18/avoiding-style-pollution-with-the-shadow-dom.html) to the editor. See the [Upgrading Your UI Theme And Package Selectors guide](http://flight-manual.atom.io/upgrading-to-1-0-apis/sections/upgrading-your-ui-theme-or-package-selectors/) for more information in upgrading your package stylesheets.
Many selectors have changed, and we have introduced the [Shadow DOM](https://blog.atom.io/2014/11/18/avoiding-style-pollution-with-the-shadow-dom.html) to the editor. See the [Upgrading Your UI Theme And Package Selectors guide](http://flight-manual.atom.io/upgrading-to-1-0-apis/sections/upgrading-your-ui-theme-or-package-selectors/) for more information in upgrading your package stylesheets.
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ title: Upgrading Your Syntax Theme

### Upgrading Your Syntax Theme

Text editor content is now rendered in the shadow DOM, which shields it from being styled by global style sheets to protect against accidental style pollution. For more background on the shadow DOM, check out the [Shadow DOM 101](http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom) on HTML 5 Rocks.
Text editor content is now rendered in the shadow DOM, which shields it from being styled by global style sheets to protect against accidental style pollution. For more background on the shadow DOM, check out the [Shadow DOM 101](https://www.html5rocks.com/en/tutorials/webcomponents/shadowdom) on HTML 5 Rocks.

Syntax themes are specifically intended to style only text editor content, so they are automatically loaded directly into the text editor's shadow DOM when it is enabled. This happens automatically when the theme's `package.json` contains a `theme: "syntax"` declaration, so you don't need to change anything to target the appropriate context.

When theme style sheets are loaded into the text editor's shadow DOM, selectors intended to target the editor from the *outside* no longer make sense. Styles targeting the `.editor` and `.editor-colors` classes instead need to target the `:host` pseudo-element, which matches against the containing `atom-text-editor` node. Check out the [Shadow DOM 201](http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201#toc-style-host) article for more information about the `:host` pseudo-element.
When theme style sheets are loaded into the text editor's shadow DOM, selectors intended to target the editor from the *outside* no longer make sense. Styles targeting the `.editor` and `.editor-colors` classes instead need to target the `:host` pseudo-element, which matches against the containing `atom-text-editor` node. Check out the [Shadow DOM 201](https://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201#toc-style-host) article for more information about the `:host` pseudo-element.

Here's an example from Atom's light syntax theme. Note that the `atom-text-editor` selector intended to target the editor from the outside has been retained to allow the theme to keep working during the transition phase when it is possible to disable the shadow DOM.

Expand Down
Loading