npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

apostrophe-twitter

v0.5.25

Published

Adds a Twitter feed widget to Apostrophe's rich content editor

Downloads

118

Readme

Deprecated for new sites

This module was for A2 0.5.x. For new projects, use the apostrophe-twitter-widgets module.

apos-twitter

apostrophe-twitter is a widget for the Apostrophe content management system. apostrophe-twitter lets you add a Twitter feed to any content area created with Apostrophe. apostrophe-twitter is also intended as a demonstration of how to add custom widgets to Apostrophe and enable their use in your project. See apostrophe-sandbox for a project that demonstrates how to use apostrophe-twitter.

Requirements

Due to Twitter's API access policies, you must register a Twitter "app" to use this module. The consumerKey and consumerSecret, accessToken and accessTokenSecret options must be set when initializing the module. After registering your app on dev.twitter.com, click "create my access token." Then refresh the page as Twitter usually fails to display the token on the first try. nodemon## Setup

If you are using apostrophe-site (and you should be), adding this module is as simple as:

npm install apostrophe-twitter

And in your app.js file:

modules: {
  ... other modules ...
  'apostrophe-twitter': {
    consumerKey: 'get',
    consumerSecret: 'your',
    accessToken: 'own',
    accessTokenSecret: 'credentials'
  },
  ... yet more modules ...
}

Now it will be included in the default set of controls. If you are setting the controls option on your areas, the widget's name is twitter.

To insert it as a singleton, you might write:

{{ aposSingleton(page, 'twitter', 'twitter', { limit: 3 }) }}

If you want the same feed to appear on many pages, you might use the global virtual page:

{{ aposSingleton(global, 'twitter', 'twitter', { limit: 3 }) }}

Options

limit

The limit option controls the number of tweets to be displayed, at most. The limit option defaults to 5.

Displaying Profile Pictures

By default the profile picture is present but hidden by CSS. You can override this by setting the apos-tweet-profile-image class to display: block at project level. The background image of that div is the user's profile picture. Keep in mind they are only 48x48.

aposTwitterReady

Once the tweets have been fully loaded into the template, an event called 'aposTwitterReady' fires. If you are manipulating the tweets on the front-end, you will want to listen for aposTwitterReady, rather than other DOM events. If you don't, the tweets may take a few seconds to load and your wonderful functions will fire before the tweets are accessible. You can then target the twitter widget with a simple declaration.For example:

  $('body').on('aposTwitterReady', '.apos-widget', function() {
    $widget = $(this);
    $widget.find('.apos-tweets').makeThemMoreAwesome();
  });

aposTwitterNull

If no tweets could be found, an event called 'aposTwitterNull' fires. If you want something special to happen if there are no tweets available, this is your event.

  $('body').on('aposTwitterNull', '.apos-widget', function() {
    $widget = $(this);
    $widget.find('.apos-tweets').seeYaLaterTemplate();
  });

Enjoy!