Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pulsar Basics (refactoring content from Ch1 in atom archive) #29

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
auto-install-peers=true
enable-pre-post-scripts=true
8 changes: 6 additions & 2 deletions docs/docs/launch-manual/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@ title: Launch Manual

# Launch Manual

## [Getting Started](/docs/launch-manual/sections/getting-started)
## [Getting Started](./sections/getting-started)

If you are a new user we recommend checking out our Getting Started guide. This
should provide a useful introduction to our editor and all it's functions.

## [Hacking the Core](/docs/launch-manual/sections/core-hacking)
## [Hacking the Core](./sections/core-hacking)

For guides to customizing Pulsar, whether that be advanced building and
contributing. Even all the way to making Pulsar work for you.

## [FAQ](./sections/faq/)

Have any other questions? They'll be answered here. If you none of what is there answers your questions, feel free to [reach out](./sections/faq/#having-trouble).
8 changes: 4 additions & 4 deletions docs/docs/launch-manual/sections/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ see [our socials](link/to/socials/list) and feel free to ask for assistance or
inquire as to the status of this document.
:::

@include(why-pulsar.md)
@include(./sections/why-pulsar.md)

## Installing Pulsar

Coming soon

<!-- @include(installing-pulsar.md) -->
<!-- @include(./sections/installing-pulsar.md) -->

@include(pulsar-basics.md)
@include(summary.md)
@include(./sections/pulsar-basics.md)
@include(./sections/summary.md)
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,14 @@ hackability and usability: an editor that will be welcoming to an elementary
school student on their first day learning to code, but also a tool they won't
outgrow as they develop into seasoned hackers.

As we've used Pulsar to build Pulsar, what began as an experiment has gradually
matured into a tool we can't live without. On the surface, Pulsar is the modern
On the surface, Pulsar is the modern
desktop text editor you've come to expect. Pop the hood, however, and you'll
discover a system begging to be hacked on.

### The Nucleus of Pulsar

The web is not without its faults, but two decades of development has forged it
into an incredibly malleable and powerful platform. So when we set out to write
a text editor that we ourselves would want to extend, web technology was the
obvious choice. But first, we had to free it from its chains.
into an incredibly malleable and powerful platform. This made it the perfect platform for our predecessors with Atom, and it has only improved since then.

### The Native Web

Expand All @@ -30,10 +27,11 @@ activity that warrants dedicated tools. More importantly, the browser severely
restricts access to the local system for security reasons, and for us, a text
editor that couldn't write files or run local sub-processes was a non-starter.

For this reason, we didn't build Pulsar as a traditional web application.
Instead, Pulsar is a specialized variant of Chromium designed to be a text
editor rather than a web browser. Every Pulsar window is essentially a
locally-rendered web page.
For this reason, Pulsar isn't built as a traditional web application. Instead,
Pulsar it uses a specialized variant of Chromium, Electron, they designed to
not only be a text editor rather than a web browser, but a powerful tool anyone
could use to make applications. Every Pulsar window is essentially a locally-
rendered web page.

All the APIs available to a typical Node.js application are also available to
the code running in each window's JavaScript context. This hybrid provides a
Expand All @@ -56,14 +54,16 @@ application and context menu items, manipulating the window dimensions, etc.

### Web Tech: The Fun Parts

Another great benefit, that comes with writing code for Pulsar, is the guarantee
that it's running on the newest version of Chromium. That means we can ignore
issues like browser compatibility and polyfills. We can use all the web's shiny
features of tomorrow, today.
<!--
This section needs to be updated as soon as possible when we get closer to being more up to date. These parts I don't want to omit but for now, they're commented out until such a point. -->

For example, the layout of our workspace and panes is based on flexbox. It's an
emerging standard and has gone through a lot of change since we started using
it, but none of that mattered as long as it worked.
Another great benefit, that comes with writing code for Pulsar, <!-- is the guarantee
that it's running on the newest version of Chromium. That means --> we can ignore
issues like browser compatibility and polyfills. <!-- We can use all the web's shiny
features of tomorrow, today. -->

For example, the layout of our workspace and panes is based on flexbox. It's was a
mature standard and has gone through a lot of change since Atom began using it. Now with Pulsar, it is a mature standard that is the cornerstone of our layouts.

With the entire industry pushing web technology forward, we're confident that
we're building Pulsar on fertile ground. Native UI technologies come and go, but
Expand All @@ -73,10 +73,10 @@ passing year. We're excited to dig deeper into its toolbox.
## An Open-Source Text Editor

We see Pulsar as a great replacement for Atom but we can't do it without your
support going forward, since we know that we can't achieve our vision for
Pulsar alone. As Emacs and Vim have demonstrated over the past three
decades, if you want to build a thriving, long-lasting community around
support going forward, since we know that we can't achieve our vision for
Pulsar alone. As Emacs and Vim have demonstrated over the past three
decades, if you want to build a thriving, long-lasting community around
a text editor, it has to be open source.

The entire Pulsar editor is free and open source and available under our
[Organizational](https://github.com/pulsar-edit) repositories.
[Organizational](https://github.com/pulsar-edit) repositories on GitHub.
79 changes: 78 additions & 1 deletion docs/docs/resources/glossary/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,81 @@
title: Glossary
---

# Glossary
---

## title: Glossary

### Glossary

Below is a list of some useful terms we use with regard to Atom.

#### Buffer

A buffer is the text content of a file in Atom. It's basically the same as a file for most descriptions, but it's the version Atom has in memory. For instance, you can change the text of a buffer and it isn't written to its associated file until you save it.

#### Command

A command is a bit of functionality in Atom that can be triggered by the user either through a [keybinding](#keybinding) or a menu item.

#### Dock

Docks are collapsible [pane containers](#pane-container) that attach to the left, right, and bottom sides of the Atom window.

Examples:

- Tree View
- Git
- GitHub

#### Key Combination

A key combination is some combination or sequence of keys that are pressed to perform a task.

Examples:

- <kbd class="platform-all">A</kbd>
- <kbd class="platform-all">Ctrl+Enter</kbd>
- <kbd class="platform-all">Ctrl+K</kbd> <kbd class="platform-all">Right</kbd>

#### Key Sequence

A key sequence is a special case of a key combination. It is a key combination that consists of keys that must be pressed and released in sequence. <kbd class="platform-all">Ctrl+K</kbd> <kbd class="platform-all">Down</kbd> is a key sequence. <kbd class="platform-all">Alt+S</kbd> is not a key sequence because it is two keys that are pressed and released together rather than in succession.

#### Keybinding

A keybinding is the mapping of a [key combination](#key-combination), such as <kbd class="platform-all">Ctrl+Enter</kbd> to an Atom command.

#### Keymap

A keymap is a collection of [keybindings](#keybinding). It can also refer to a file or files containing keybindings for an Atom package or Atom itself.

#### Package

An Atom plugin. There is a bunch more information in the section on [Atom Packages](/using-atom/sections/atom-packages/).

#### Pane

A pane is a visual section of the editor space. Each pane can hold multiple [pane items](#pane-item). There is always at least one pane in each Atom window.

#### Pane Container

A section of the Atom UI that can contain multiple [panes](#pane).

#### Pane Item

Some item, often an editor, that is displayed within a [pane](#pane). In the default configuration of Atom, pane items are represented by tabs at the top of each pane.

::: note

**Note:** The reason why we don't call them "tabs" is because you can disable the [tabs package](https://github.com/atom/tabs) and then there aren't any tabs. For a similar reason, we don't call them files because some things can be shown in a pane that aren't files, like the Settings View.

:::

#### Panel

A piece of the Atom UI that is outside the editor space.

Examples:

- Find and Replace
- Keybinding Resolver
2 changes: 2 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ features:
- title: "Find and replace"
text: "Find, preview, and replace text as you type in a file or across all your projects."
---

# Welcome!