GithubHelp home page GithubHelp logo

software2012team23's Introduction

HubPress

What Is HubPress?

editor

HubPress is a free, open source tool you can use to build a rich, AsciiDoc based blog using GitHub Pages!

Created and maintained by Anthonny Quérouil (twitter @anthonny_q).

Note
While HubPress may appear feature-complete, it is actually in Tech Preview. Bugs are inevitible, so if you find something is not behaving the way you think it should, please raise a bug and the project team will address it as soon as possible.

Documentation is rapidly evolving as the project gains momentum. Check back regularly for more tips on how to use HubPress. If you see something wrong with the documentation, please raise a bug. Your help with improving every aspect of HubPress is greatly appreciated. Pull Requests are always welcome.

Browser compatibility

HubPress is compatible with Chrome Desktop, Firefox Desktop, and Chrome for Android.

Chrome Beta for Android will be fully compatible soon, but is not currently supported because of bugs with IndexedDB. While using HubPress Preview, use Chrome for Android only.

Getting Started

Installation

Fork the repository

Click the Fork icon Fork to create a copy of this repository within your GitHub account.

Use the github.io domain

If you have never used your GitHub Pages domain before, you can use this procedure to quickly set up HubPress. With this method, only a few steps are required to get HubPress deployed and ready for use.

Important
If you are currently using your username.github.io GitHub Pages domain for another project, or if you want to use a custom domain name, skip to the next procedure for instructions.
  1. Rename your repository to <username>.github.io

  2. Set values in hubpress/config.json

    Edit config

    The following parameters are mandatory :

    • username, which is your GitHub user name,

    • repositoryName, which is the new name of the repository fork, <username>.github.io.

  3. Commit the changes, and open the GitHub Pages domain: https://<username>.github.io/.

  4. The following screen indicates you have correctly configured HubPress

    Install complete

Use a Custom Domain or GitHub Page Domain Already In Use

If you want your blog to be available on a custom domain, or you are already using your GitHub Pages domain to host another project, some extra configuration is required.

  1. In the repository settings, set the default branch to gh-pages :

    Settings gh-pages

  2. Switch your repository to the branch gh-pages

    Install complete

  3. Set the required values in `hubpress/config.json

    Edit config

    The following parameters are mandatory :

    • username, which is your GitHub user name,

    • repositoryName, which is the repository fork. For example, hubpress.io if you did not rename it.

  4. Commit the changes, and open the GitHub Pages domain: https://<username>.github.io/<repositoryName>/.

  5. The following screen indicates you have correctly configured HubPress

    Install complete

Administration Console

The HubPress Administration Console is available at /hubpress

Log Into the Administration Console

Install complete

Enter your GitHub credentials to log into HubPress Admin.

Once you authenticate, a personal token is created for future calls from HubPress to the GitHub API.

This is synchronized across all sessions of HubPress, so if you open the Administration Console on your PC and then your Tablet, the token is applicable to all devices.

Settings Page

You can configure basic blog settings (such as CNAME and Pagination) and social media accounts you want to connect to your blog.

Meta

This section contains basic information configured in the /hubpress/config.json file.

The following fields are configurable:

Git CNAME

Lets you specify a custom domain name for your blog. See Setting Up A Custom Domain for instructions about setting up a CNAME for your blog.

Live Preview Render Delay

Controls how long the live render takes to refresh, in milliseconds. For fast typists, setting this field to a value over 2000 (two seconds) will result in a smoother editing experience because the live preview will not be regenerated so frequently. Setting this value below 2000 will result in the live preview refreshing faster, but may result in some visible cursor delay when typing.

Site

Title and Description

The Title and Description fields allow you to give your blog a name, and tell visitors what they can expect from your blog posts.

The Logo and Cover Image fields can be used the following ways:

  • A HTML link to an image hosting service. For example gravatar.

  • A link to an image committed to the /images directory of your blog repository.

Note
See the /images/README.adoc file for tips about embedding images into your blog posts.
Theme

The Theme is selectable from the list of themes stored in the /themes directory. Specify it according to it is spelled in it’s containing folder.

Google Analytics

The Google Analytics field takes the unique Google Analytics code generated for the site.

Disqus Shortname

The Disqus shortname field takes your Disqus URL/shortname that is specified when you register a new site for Disqus. Only the shortname is required, not a link to your profile page.

Social Network

All fields in this group require full URLs to your public profile page. The way these values are rendered on your blog depends on the theme selected.

Managing Posts

When you first start HubPress, the Posts view is empty. As you create blog posts, the page populates with the list of posts on the left, and a live preview of the blog post itself on the right.

Writing A Blog Post with HubPress

Note
If you have never used AsciiDoc before to write content, the AsciiDoctor Writer’s Guide should be your first stop in your journey. The guide provides both basic and advanced mark-up examples for you to copy and use.

HubPress Editor displays the AsciiDoc code on the left, and the live preview on the right.

Blog Title, and Headings

The blog title is always Level 1 in an AsciiDoc post. For example, = Blog Title sets the name of the Blog Post to Blog Title.

A = Blog Title is required for saving it successfully.

If you want a first-level heading you use == First Level Heading, and so on to create other nested headings.

HubPress Parameters

HubPress allows you to alter characteristics of each blog post using attributes.

:hp-image: for Blog Post Cover Images

If you want to add a cover image to your Blog Post, set the hp-image attribute.

  1. :hp-image: Example

= Blog Title
:hp-image: a-cover-image.jpg
Note
Because HubPress defaults the /images directory as the root for all images, you only need to declare the filename of the image. Because of this, you may want to consider creating a /covers directory in your repository to group the cover images together. Naming the cover images consistently will make it very easy to apply to every post. If you have a theme to your blog, this allows your readers to get a visual clue as to what the post is about.

The themes that currently support blog post cover images are:

  • Saga

:published_at: to alter the Publication Date

By default, the publication date is the date you created the Blog Post. You can force the publication date by adding the :published_at: attribute.

  1. :published_at: Example

= Blog Title
:published_at: 2015-01-31

:hp-tags: for Metadata Tags

Note
Categories are not supported.

Add tags by using the hp-tags attribute.

  1. :hp-tags: Example

= Blog Title
:hp-tags: HubPress, Blog, Open Source,

:hp-alt-title: to Specify an Alternative Title

Specify an alternative title using the hp-alt-title attribute.

The alternative title is used instead of the HTML file name generated by HubPress.

  1. :hp-alt-title: Example

= 大千世界
:hp-alt-title: My English Title

Adding Images

Push Images to GitHub Repository

You can use Git command line or a Git app to add images to your blog posts:

  1. Commit images to the /images directory.

  2. In your blog post, use the following basic AsciiDoc syntax:

    image::<filename>[]
  3. See http://asciidoctor.org/docs/asciidoc-writers-guide/ for complex examples of Image syntax.

If you are embedding images from a hosted source — such as instagram, another GitHub repository, or any photo hosting sites — put the full URL to the image in place of the <filename>.

Hosted Image Embed
image::http://<full path to image>[]
Using GitHub Issues as an Image Hosting Container

You can use a single issue as an image container for a blog post containing many issues by uploading multiple images as comments. Alternatively, you can use multiple issues to store individual images. Whatever works best for you, and your organization style. Watch this five minute video for a demonstration about how to use GitHub Issues and Cloud Hosting services as embed targets, and some bonus tips on using the image AsciiDoc syntax.

Embedding Videos

HubPress allows you to embed video directly into your blog post by using a quick notation in your blog post. You don’t need to put it the full URL: all you need is the unique video ID.

video::[unique_youtube_video_id][youtube | vimeo]
YouTube Video Embed
video::KCylB780zSM[youtube]
Vimeo Video Embed
video::67480300[vimeo]

Updating HubPress

Because HubPress is hosted on GitHub, you can update by pulling down the latest changes from the HubPress master repository.

To learn how to do this correctly (there’s a trick to it the first time you pull changes from upstream), you can watch the following video to learn the correct process.

Troubleshooting

If something is not working as you expect, some of these tips may help.

Resetting Blog Database on Android

Sometimes the HubPress local database becomes out-of-sync with your published blog. This can happen because you are editing your blog on your PC, then switch over to your tablet.

HubPress works on a locally-stored database specific to your Browser, so if you switch devices — and subsequently switch browsers — you lose the synchronicity between browsers.

To return your instance of HubPress to that of the published blog, clear the browser Cache and Data in Settings > Apps. When you do this, HubPress is forced to rebuild the local database, and will reflect the state of the blog in GitHub.

Credits

Thanks to Jared Morgan for initially tidying up the README you see here, and continuing to be the "docs guy" for HubPress. Thanks to takkyuuplayer, hinaloe to have translated the README into Japanese

software2012team23's People

Contributors

hermann19829 avatar rubienr avatar therock1983 avatar

Watchers

 avatar

software2012team23's Issues

Phone-Number format concerns

PhoneNumbers are generated via the contact app and stored to a datastore. 
Dealing with the emulator's contact app the format of a phone number is 
123-345-99999. This number-string is returned on every query also directly to 
the webapp.

BUT: the fetchThreadId(address) method - as well as every other method - is 
dealing only with a clean version of the string "12334599999". I implemented a 
string replace for "-" to "" in the apirequesthandler, but I doubt that this a 
clean way.

I thought about adding a method to Contact.Number (getCleanAddress) which is 
replacing the stuff in the address which we do not want to be in. e.x. + should 
become 00 later (at the moment no problem because we do not test with real 
numbers).

Comments and thoughts about the problem are welcome.


Original issue reported on code.google.com by [email protected] on 14 May 2012 at 12:02

Two app icons will display on phone

What steps will reproduce the problem?
1. Install app

What is the expected output? What do you see instead?
One app icon is expected but two were displayed.


Original issue reported on code.google.com by [email protected] on 7 Jun 2012 at 3:18

Frontend -> SMS Thread: "From: xxxxx" is misleading

What steps will reproduce the problem?
1. send an SMS to a number eg. 0123456789
2. wait till sms is sent (site updates the conversation thread automatically)
3. sent SMS title is "From: 0123456789"

What is the expected output? What do you see instead?
title should be "From: Me" or simply "Me"

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 10:37

crash by switching on/off w-lan

What steps will reproduce the problem?
1. websmstool is aktive and w-lan is on
2. switch off w-lan
3. switch on w-lan
4. crash

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:14

  • Merged into: #51

Encapsulate ContactFilter queries

Branch name: phonebook_bridge

Purpose of code on this branch: Gathering contact data

Enhancement would be: Since the "where" and "like" clauses (queries) are 
tightly coupled to ContactReader.ContactFilter, they should be moved to the 
filter-class.

Original issue reported on code.google.com by [email protected] on 14 Apr 2012 at 1:57

sending multiple sms

What steps will reproduce the problem?
1. send text from http://www.loremipsum.de/
2. sender logs the sms 4 times (fully text)
3. reciver gets the sms correctly divided (4 parts)

What is the expected output? What do you see instead?
sender should see exactly the same like the reciver (the 4 devided sms)
rightn now sender has the text undivided 4 times 

What version of the product are you using? On what operating system?
android 4.0.3 
websmstool latest version

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 8:51

Service crashes on SMS_DELIVERED callback

What steps will reproduce the problem?
1. send multi text sms 
2. watch log cat
3. watch the pretty nullpointer exception

What is the expected output? What do you see instead?
no nullpointer exception


Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 5:05

Display IP-Address if service is Started

Branch name:
master

Enhancement would be:
IP-Address should be retrieved from server socket directly instead of 
WifiManager, i.e. SimpleWebServer.java:149
serverConn.bind(tmpSocket, params);
mLog.logI("Local IP: " + serverConn.getLocalAddress().getHostAddress());

Suggested solution:
MainActivity starts service, then asks it via intend for details (local 
address, protocol, port). After answer is received MainActivity displays 
something like "https://192.168.1.123:887" below the start/stop button.

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 9:59

Use transitions png of start/stop button on tab or while starting/stopping the service

What steps will reproduce the problem?
1. Start application
2. Tab on play button

What is the expected output? What do you see instead?
onTab should show the light green variant of the button until the service is 
started or the button is onTab. Instead the red stop button is shown 
immediately.


Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 6:35

Mark starred contacts

Branch name:
master

Enhancement would be:
Mark contact image with a star if contact is starred on android.

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:32

Move from JUnit Test to Anroid JUnit Test

Branch name:
main

Purpose of code on this branch:
main app code

Enhancement would be:
+ Extend the testclass (WebServerRequestTest) from 
WebSMSToolTestInstrumentation instead of TestCase.
+ create extra package for webservice testing

Original issue reported on code.google.com by [email protected] on 14 Apr 2012 at 11:36

Contact sms-thread-tab: Close button

Branch name:
master

Enhancement would be:
Put the close tab button (contacts sms thread tab) right of contact name (tab 
label) to enable more intuitive closing of tabs (better usability).

The icon cold be a simple "X" designed nicely with CSS.

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:16

SMS Thread list in webapplication shows wrong Name of Sender

What steps will reproduce the problem?
1. Load SMS Thread-List in webapp

What is the expected output? What do you see instead?
SMS From-Text should be filled with ME (working) or the name of the contact. 
But instead of this the name of another contact is shown.

Please use labels and text to provide additional information.
I identified, that the request fetchSMSThread returns a list of TextMessages 
and the person (representing the id of the contact) is wrong.

Original issue reported on code.google.com by [email protected] on 6 Jun 2012 at 1:37

Sending SMS does not support ""

What steps will reproduce the problem?
1. opening chromium console -> Console
2. trying to send a sms with text "blubb"
3. sms will not be send
4. watch error output in console [1]

What is the expected output? What do you see instead?
send sms with "" 

What version of the product are you using? On what operating system?


Please provide any additional information below.
[1]
Uncaught TypeError: Cannot read property 'state' of null
$.ajax.success
f.Callbacks.ojquery.js:2
f.Callbacks.p.fireWithjquery.js:2
wjquery.js:4
f.support.ajax.f.ajaxTransport.send.djquery.js:4

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:44

Logging: Log.e() must be traced completely during tests

Branch name:
master

Enhancement would be:
Logging should be split in (a) <Logable> (sth. that takes log strings) and (b) 
<LogSink> (sth. that puts log strings somewhere).

Why?
<LogSink> could be exchanged at runtime -> i.e. if you use some kind of 
<TestLogSink> at testing-runtime, Log.e(); could be traced everywhere. Not just 
in test-case classes tat are extended from <Logable>.

Original issue reported on code.google.com by [email protected] on 1 May 2012 at 5:04

Intend: Class not found exception (SMS_DELIVERED)

What steps will reproduce the problem?
1. send multi text sms
2. watch log cat
3. see exception being thrown (but not from at.turgraz.ist.akm, some other pid)

What is the expected output? What do you see instead?
no exception

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 5:54

Webservice cannot be started

What steps will reproduce the problem?
1. Start the application
2. Click on Play button
3.

What is the expected output? What do you see instead?
- Webserver should run, currently not working


Please use labels and text to provide additional information.
Problem exhibited in master branch.

Issue should be fixed unitil 5.6.2012 at latest due to upcoming presentation on 
next day.

Original issue reported on code.google.com by [email protected] on 31 May 2012 at 10:16

Idea: Load contacts from provider on service start

Branch name:
main

Enhancement would be:
Since the Web-API loads a little bit slow all contacts could be read and cached 
from provider when service is being started to improve subjective speed of the 
app.

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 5:41

TextingAdapter: Remove reference to Activity

What steps will reproduce the problem?
1. If Activity is referenced by TextingAdapter, it can never be used as Service 
(as needed).

What is the expected behavior?
Reference only Activity's Context.



Original issue reported on code.google.com by [email protected] on 26 Apr 2012 at 10:32

crash by reciving a call

What steps will reproduce the problem?
1. WebSmsTool crashes on incoming calls (unimportant if the call has been 
accepted, rejected or missed) 

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:16

JsonAPIRequestHandler must do some cleanup

What steps will reproduce the problem?
1. run all unit tests at once

What is the expected output? What do you see instead?
You'll notice in log.cat:
WebSMSToolService has leaked IntentReceiver 
at.tugraz.ist.akm.sms.SmsSentBroadcastReceiver@44e8e630 that was originally 
registered here. Are you missing a call to unregisterReceiver()?

The reason: 
Anyone who does TextingAdapter.start() must also do TextingAdapter.stop(). In 
other words that means: JsonAPIRequestHandler must do TextingAdapter.stop() 
before the grim reaper (aka. garbage collector) visits the TextingAdapter.

Suggested solution:
SimpleWebServer must undo its readRequestHandlers() on stopServer()
and therefore AbstractHttpRequestHandler needs a further interface method like 
"onDestroy()" where later on JsonAPIRequestHandler can stop the TextingAdapter.


rr

Original issue reported on code.google.com by [email protected] on 5 May 2012 at 4:56

Update/restart service on settings change

What steps will reproduce the problem?
1. change settings i.e. user/password
2. load web-frontend
3. use arbitrary password -> login works

What is the expected output? What do you see instead?
login should fail
same for https settings

Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 10:16

ConfigContentProvider Testcase fail

While running the TestCases of the ConfigContent Provider the following Tests 
are failing:

testDelete
testInsert
testInsert2
testUpdate

Am I missing an dependency, or the database file or something else?



Original issue reported on code.google.com by [email protected] on 21 May 2012 at 6:19

Test case blocks infinitely

What steps will reproduce the problem?
Run test case SimpleWebServerTest.testSimpleJsonRequest()

What is the expected output? What do you see instead?
It blocks when response.getEntity().writeTo(baos);


Original issue reported on code.google.com by [email protected] on 26 Apr 2012 at 10:57

TextingAdapter: Refactoring

Branch name:
master

Enhancement would be:
(a) Stop sent SMS being delivered back (when it was really sent) to application 
via broadcast intent. At the moment the SMS is stored into the intend's extras 
field and parsed from extras when intend arrives.
(b) When (a) is done refactor SmsSent callback-interface. There is no need to 
pass the whole intent on callback. Just passing a SMS as TextMessage would be 
enough.

Original issue reported on code.google.com by [email protected] on 3 May 2012 at 6:03

show info during service-start/stop

Branch name:
master

Enhancement would be:
on start(ing): show info text "starting service...", then set info field to 
"http://connection_url:1234"
on stop(ping): show info text "stopping service...", then clear info field

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 10:14

Text-Message - person attribute

The person attribute of an Text-Message always returns "null". 

I figured out, that also the db-entries in the mmssms.db (where the sms data is 
stored) only have a null in the person-column. The strange thing is, that the 
threads are correctly fetched to a specific contact (next fine thing, that the 
android implementation do not care about number format - see issue 14 for that 
- and all messages are correctly assigned to a specific contact not depending 
on the number format 111-1111-111-11 or 111111111 stored as address in the 
sqlite db).

I read on the internet, that it would be better to use the stored address of an 
sms-entry to determine the contact.

Whats your thoughts about it?

Original issue reported on code.google.com by [email protected] on 14 May 2012 at 1:40

do not start service if wifi is not connected

What steps will reproduce the problem?
1. turn off wifi
2. turn on on gprs
3. start service

What is the expected output? What do you see instead?
advice that wifi is not connected

Original issue reported on code.google.com by [email protected] on 15 Jun 2012 at 1:41

Performance issue when fetching text messages

Branch name: sms_bridge

Purpose of code on this branch: Establish i/o interaction with content://sms/* 
and sending sms to smsc

Enhancement would be:
fetchInbox() and fetchOutbox() blindly gathers all found text messages. A 
better way would be an implementation of fetchInbox(Contact joshYoung).

Original issue reported on code.google.com by [email protected] on 13 Apr 2012 at 12:40

TextingAdapter UnitTests are failing

Test in TextingAdapterTest are failing due to usage of an hardcoded threadID 
which is not available on all used emulators of the developer team.

Please change to something useable.

--> testSendNoException failing
--> testSendLongText failing
--> testSendNoException error



Original issue reported on code.google.com by [email protected] on 2 May 2012 at 8:29

Search contact text-field

Branch name:
master

Enhancement would be:
Provide an input text-field where user can search for a contact.

+ implement it client side (JavaScript only, dhtml)
+ update contact list on every text-changed event

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 9:20

Service may be started twice

What steps will reproduce the problem?
1. crash the service somehow or make it throw an exception
2. restart the service via start button
3. in some cases the server starts twice

i am unsure what exactly happens (often related with thrown service-exceptions) 
but it is possible to start the service twice.

i suppose it is due to lack of knowledge about states in android, see [1]




[1] http://developer.android.com/reference/android/app/Activity.html

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 7:27

Start/stop button toggles not correctly if service is destroyed manually

What steps will reproduce the problem?
1. start service via app
2. destroy service via settings -> applications -> current running
3. start application
3. button is not toggled correctly

What is the expected output? What do you see instead?
start stop button showing start image instead of last state (what ever it was)

Original issue reported on code.google.com by [email protected] on 14 Jun 2012 at 8:55

TextingAdapter Nice-to-haves

After a nice discussion with all group members, we decided to enhance the 
TextingAdapter with the following functionality.

It should provide status flags for unread SMS, Contact-Changes, successfull 
send notifications. Further, it should list all unreaded sms until the 
apiRequestHandler ask for it and returns it to the webapp.

The methods and new state members have to be synchronized.

<3 <3 <3



Original issue reported on code.google.com by [email protected] on 25 Apr 2012 at 11:57

Status image transparency

Branch name:
main

Enhancement would be:
actually used png icons do not have proper transparency set. for some reason, 
after manipulating the images with gimp they become "faulty".

Original issue reported on code.google.com by [email protected] on 13 Jun 2012 at 5:57

Fix sporadically ConnectionClosedException

What steps will reproduce the problem?
1. start the app
2. load the web-frontend
3. watch LogCat

What is the expected output? What do you see instead?
Expect no exception to be thrown like:
06-05 23:47:39.860: W/System.err(9436): 
my.org.apache.http.ConnectionClosedException: Client closed connection

Unfortunately a quick attempt to set socket's timeout did not solve the 
problem, i.e. 

SimpleWebServer.java:149
serverConn.bind(tmpSocket, params);
serverConn.setSocketTimeout(5000);


Original issue reported on code.google.com by [email protected] on 5 Jun 2012 at 10:05

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.