Skip to content

Commit

Permalink
make release notes into a package
Browse files Browse the repository at this point in the history
  • Loading branch information
SachaG committed Dec 31, 2014
1 parent dd42a66 commit ecad51b
Show file tree
Hide file tree
Showing 21 changed files with 370 additions and 44 deletions.
1 change: 1 addition & 0 deletions .meteor/packages
Expand Up @@ -78,3 +78,4 @@ telescope-invites
telescope-post-by-feed

# Custom Packages
telescope-releases
1 change: 1 addition & 0 deletions .meteor/versions
Expand Up @@ -123,6 +123,7 @@ telescope-module-share@0.0.0
telescope-newsletter@0.1.0
telescope-notifications@0.1.0
telescope-post-by-feed@0.0.1
telescope-releases@0.1.0
telescope-rss@0.0.0
telescope-search@0.0.0
telescope-singleday@0.1.0
Expand Down
7 changes: 0 additions & 7 deletions client/views/admin/currentVersion.html

This file was deleted.

11 changes: 0 additions & 11 deletions client/views/admin/currentVersion.js

This file was deleted.

1 change: 0 additions & 1 deletion collections/versions.js

This file was deleted.

1 change: 0 additions & 1 deletion lib/router/config.js
Expand Up @@ -2,7 +2,6 @@ Router.setTemplateNameConverter(function (str) { return str; });

preloadSubscriptions.push('settings');
preloadSubscriptions.push('currentUser');
preloadSubscriptions.push('currentVersion');

Router.configure({
layoutTemplate: getTemplate('layout'),
Expand Down
1 change: 1 addition & 0 deletions packages/telescope-releases/.gitignore
@@ -0,0 +1 @@
.build*
3 changes: 3 additions & 0 deletions packages/telescope-releases/i18n/en.i18n.json
@@ -0,0 +1,3 @@
{
"translation_key": "translation string"
}
Empty file.
@@ -0,0 +1,7 @@
<template name="currentRelease">
{{#with currentRelease}}
<div class='current-release'>
{{#markdown}}{{notes}}{{/markdown}}
</div>
{{/with}}
</template>
@@ -0,0 +1,9 @@
Meteor.startup(function () {

Template[getTemplate('currentRelease')].helpers({
currentRelease: function () {
return Releases.find({read: false}).fetch()[0];
}
});

});
7 changes: 7 additions & 0 deletions packages/telescope-releases/lib/releases.js
@@ -0,0 +1,7 @@
Releases = new Meteor.Collection('releases');

heroModules.push({
template: 'currentRelease'
});

preloadSubscriptions.push('currentRelease');
18 changes: 18 additions & 0 deletions packages/telescope-releases/lib/server/import_releases.js
@@ -0,0 +1,18 @@

importRelease = function (number) {
if (!Releases.findOne({number: number})) {
var releaseNotes = Assets.getText("releases/" + number + ".md");
release = {
number: number,
notes: releaseNotes,
createdAt: new Date(),
read: false
}
Releases.insert(release);
}
};

Meteor.startup(function () {
importRelease('0.11.0');
importRelease('0.11.1');
});
6 changes: 6 additions & 0 deletions packages/telescope-releases/lib/server/publications.js
@@ -0,0 +1,6 @@
Meteor.publish('currentRelease', function() {
if(isAdminById(this.userId)){
return Releases.find({}, {sort: {createdAt: -1}, limit: 1});
}
return [];
});
5 changes: 5 additions & 0 deletions packages/telescope-releases/package-tap.i18n
@@ -0,0 +1,5 @@
{
"translation_function_name": "__",
"helper_name": "_",
"namespace": "project"
}
84 changes: 84 additions & 0 deletions packages/telescope-releases/package.js
@@ -0,0 +1,84 @@
Package.describe({
summary: 'Show Telescope release notes.',
version: '0.1.0',
name: 'telescope-releases'
});

Npm.depends({
// NPM package dependencies
});

Package.onUse(function (api) {

// --------------------------- 1. Meteor packages dependencies ---------------------------

// automatic (let the package specify where it's needed)

api.use([
'tap:i18n', // internationalization package
'iron:router', // routing package
'telescope-base', // basic Telescope hooks and objects
'telescope-lib', // useful functions
'telescope-i18n', // internationalization wrapper
'fourseven:scss' // SCSS compilation package
]);

// client

api.use([
'jquery', // useful for DOM interactions
'underscore', // JavaScript swiss army knife library
'templating' // required for client-side templates
], ['client']);

// server

api.use([
//
], ['server']);

// ---------------------------------- 2. Files to include ----------------------------------

// i18n config (must come first)

api.add_files([
'package-tap.i18n'
], ['client', 'server']);

// both

api.add_files([
'lib/releases.js',
], ['client', 'server']);

// client

api.add_files([
'lib/client/templates/current_release.html',
'lib/client/templates/current_release.js',
'lib/client/scss/releases.scss'
], ['client']);

// server

api.add_files([
'lib/server/publications.js',
'lib/server/import_releases.js'
], ['server']);

api.addFiles('releases/0.11.0.md', 'server', { isAsset: true });
api.addFiles('releases/0.11.1.md', 'server', { isAsset: true });

// i18n languages (must come last)

api.add_files([
'i18n/en.i18n.json'
], ['client', 'server']);

// -------------------------------- 3. Variables to export --------------------------------

api.export([
'Releases'
]);

});
File renamed without changes.
Expand Up @@ -5,4 +5,4 @@
* `telescope-post-by-feed` package now lets you import posts from RSS feeds.
* Adding limit of 200 posts to post list request.
* Refactoring post and comment submit to fix latency compensation issues.
* Tags package now using Autoform.
* Tags package now using Autoform.

0 comments on commit ecad51b

Please sign in to comment.