Coder Social home page Coder Social logo

ascii-art's Introduction

Atom

Build status

Atom and all repositories under Atom will be archived on December 15, 2022. Learn more in our official announcement

Atom is a hackable text editor for the 21st century, built on Electron, and based on everything we love about our favorite editors. We designed it to be deeply customizable, but still approachable using the default configuration.

Atom

Atom Screenshot

Visit atom.io to learn more or visit the Atom forum.

Follow @AtomEditor on Twitter for important announcements.

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

Documentation

If you want to read about using Atom or developing packages in Atom, the Atom Flight Manual is free and available online. You can find the source to the manual in atom/flight-manual.atom.io.

The API reference for developing packages is also documented on Atom.io.

Installing

Prerequisites

macOS

Download the latest Atom release.

Atom will automatically update when a new release is available.

Windows

Download the latest Atom installer. AtomSetup.exe is 32-bit. For 64-bit systems, download AtomSetup-x64.exe.

Atom will automatically update when a new release is available.

You can also download atom-windows.zip (32-bit) or atom-x64-windows.zip (64-bit) from the releases page. The .zip version will not automatically update.

Using Chocolatey? Run cinst Atom to install the latest version of Atom.

Linux

Atom is only available for 64-bit Linux systems.

Configure your distribution's package manager to install and update Atom by following the Linux installation instructions in the Flight Manual. You will also find instructions on how to install Atom's official Linux packages without using a package repository, though you will not get automatic updates after installing Atom this way.

Archive extraction

An archive is available for people who don't want to install atom as root.

This version enables you to install multiple Atom versions in parallel. It has been built on Ubuntu 64-bit, but should be compatible with other Linux distributions.

  1. Install dependencies (on Ubuntu):
sudo apt install git libasound2 libcurl4 libgbm1 libgcrypt20 libgtk-3-0 libnotify4 libnss3 libglib2.0-bin xdg-utils libx11-xcb1 libxcb-dri3-0 libxss1 libxtst6 libxkbfile1
  1. Download atom-amd64.tar.gz from the Atom releases page.
  2. Run tar xf atom-amd64.tar.gz in the directory where you want to extract the Atom folder.
  3. Launch Atom using the installed atom command from the newly extracted directory.

The Linux version does not currently automatically update so you will need to repeat these steps to upgrade to future releases.

Building

Discussion

License

MIT

When using the Atom or other GitHub logos, be sure to follow the GitHub logo guidelines.

ascii-art's People

Contributors

darangi avatar izuzak avatar jasonrudolph avatar jkubicek avatar kevinsawicki 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ascii-art's Issues

Tests not passing with latest atom?

Reading the docs, I was following this package as an example working on my own package that has basically the same plumbing. My specs weren't passing so I tried installing this package via apm, opening it's directory in atom, and running the specs via the atom "Run Package Specs" command. They are failing with this error:

AsciiArt
when the ascii-art:toggle event is triggered
it hides and shows the modal panel
timeout: timed out after 5000 msec waiting for promise to be resolved or rejected
it hides and shows the view
timeout: timed out after 5000 msec waiting for promise to be resolved or rejected

My own tests fail similarly, which makes me think this package's tests have gone out of date. Based on the error messages, I would think the promise handling APIs for atom/jasmine integration perhaps have changed?

Same behavior with Atom 1.10.2 and 1.11.0.

Update the tutorial to match this repo?

I just worked through the tutorial and ran into lots of issues (I believe most of them are because atom has changed how it generates the package template etc), I don't know how to edit the original tutorial (If someone could help with that I would be happy to give that a try). Then I discovered that this repo was quite different, I will list some suggested changes here:

Also I am not sure if it was because I opened the editor in dev mode (atom --dev) from the command line or if it puts you in dev mode when it generates the package but because of this The sections where the instructions say to reload the window that is not needed as it auto updates.

Fix 1

From:

To verify this, toggle the Command Palette (cmd-shift-P) and type "ASCII Art". You'll see a new ASCII Art: Toggle command. When triggered, this command displays a default message.

To:

To verify this, toggle the Command Palette (cmd-shift-P) and type "ASCII Art". You'll see a new ASCII Art: Toggle command. When triggered, this command displays a default message. You can close the message with control - option - 'o'.

(It was not obvious how to get it to go away at first).

Fix 2

From:

Now let's edit the package files to make our ASCII Art package do something interesting. Since this package doesn't need any UI, we can remove all view-related code. Start by opening up lib/ascii-art.coffee. Remove all view code, so the module.exports section looks like this:

module.exports =
  activate: ->

To:

Now let's edit the package files to make our ASCII Art package do something interesting. Start by opening up lib/ascii-art.coffee and replacing the content of the file with:

module.exports =
  activate: ->

Note: This will mean the ascii-art-view.coffee file wont be used by the plugin. Since this package doesn't need any UI it can be deleted.

I was confused because there was no view data, (This seems to have been split out into a file called ascii-art-view.coffee by the plugin generator).

Fix 3

From:

Now open the command panel and search for the ascii-art:convert command. But it's not there! To fix this, open package.json and find the property called activationEvents. Activation Events speed up load time by allowing Atom to delay a package's activation until it's needed. So remove the existing command and add ascii-art:convert to the activationEvents array:

"activationEvents": ["ascii-art:convert"],

To:

Now open the command panel and search for the ascii-art:convert command. But it's not there! To fix this, open package.json and find the property called activationCommands. Activation Commands speed up load time by allowing Atom to delay a package's activation until it's needed. So you can replace the ascii-art:toggle command with the convert command:

"activationCommands": {
    "atom-workspace": "ascii-art:convert"
  },

Slight change to the json format. The section after this about re-loading the window is not needed as I said at the beginning.

Fix 4

From:

After saving the file, run the command 'update-package-dependencies:update' from the Command Palette. This will install the package's node module dependencies, only figlet in this case. You will need to run 'update-package-dependencies:update' whenever you update the dependencies field in your package.json file.

To:

After saving the file, run the command 'Update Package Dependencies: Update' from the Command Palette. This will install the package's node module dependencies, only figlet in this case. You will need to run 'update-package-dependencies:update' whenever you update the dependencies field in your package.json file.

The hyphenated version returned no results so typing update- cleared the search.

Package.getStylesheetsPath is deprecated.

Store package style sheets in the styles/ directory instead of stylesheets/ in the ascii-art package

Package.getStylesheetsPath (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:460:9)
Package.getStylesheetPaths (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:471:32)
Package.loadStylesheets (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:453:38)
<unknown> (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:185:19)
Package.measure (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:165:15)
Package.load (/Applications/Atom.app/Contents/Resources/app.asar/src/package.js:179:12)

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.