From fdbbc792a3203e209f26db0e3a2d555bd361a911 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Thu, 31 Dec 2015 09:19:27 +0700 Subject: [PATCH 01/15] +Update READMe.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduction Code Naming Basics Naming Methods Naming Functions Naming Properties and Data Types Acceptable Abbreviations and Acronyms Tips and Techniques for Framework Developers Revision History NextPrevious Naming Methods Methods are perhaps the most common element of your programming interface, so you should take particular care in how you name them. This section discusses the following aspects of method naming: General Rules Here are a few general guidelines to keep in mind when naming methods: Start the name with a lowercase letter and capitalize the first letter of embedded words. Don’t use prefixes. See Typographic Conventions. There are two specific exceptions to these guidelines. You may begin a method name with a well-known acronym in uppercase (such as TIFF or PDF)), and you may use prefixes to group and identify private methods (see Private Methods). For methods that represent actions an object takes, start the name with a verb: - (void)invokeWithTarget:(id)target; - (void)selectTabViewItem:(NSTabViewItem *)tabViewItem Do not use “do” or “does” as part of the name because these auxiliary verbs rarely add meaning. Also, never use adverbs or adjectives before the verb. If the method returns an attribute of the receiver, name the method after the attribute. The use of “get” is unnecessary, unless one or more values are returned indirectly. - (NSSize)cellSize; Right. - (NSSize)calcCellSize; Wrong. - (NSSize)getCellSize; Wrong. See also Accessor Methods. Use keywords before all arguments. - (void)sendAction:(SEL)aSelector toObject:(id)anObject forAllCells:(BOOL)flag; Right. - (void)sendAction:(SEL)aSelector :(id)anObject :(BOOL)flag; Wrong. Make the word before the argument describe the argument. - (id)viewWithTag:(NSInteger)aTag; Right. - (id)taggedView:(int)aTag; Wrong. Add new keywords to the end of an existing method when you create a method that is more specific than the inherited one. - (id)initWithFrame:(CGRect)frameRect; NSView, UIView. - (id)initWithFrame:(NSRect)frameRect mode:(int)aMode cellClass:(Class)factoryId numberOfRows:(int)rowsHigh numberOfColumns:(int)colsWide; NSMatrix, a subclass of NSView Don’t use “and” to link keywords that are attributes of the receiver. - (int)runModalForDirectory:(NSString *)path file:(NSString *) name types:(NSArray *)fileTypes; Right. - (int)runModalForDirectory:(NSString *)path andFile:(NSString *)name andTypes:(NSArray *)fileTypes; Wrong. Although “and” may sound good in this example, it causes problems as you create methods with more and more keywords. If the method describes two separate actions, use “and” to link them. - (BOOL)openFile:(NSString *)fullPath withApplication:(NSString *)appName andDeactivate:(BOOL)flag; NSWorkspace. Accessor Methods Accessor methods are those methods that set and return the value of a property of an object. They have certain recommended forms, depending on how the property is expressed: If the property is expressed as a noun, the format is: - (type)noun; - (void)setNoun:(type)aNoun; For example: - (NSString *)title; - (void)setTitle:(NSString *)aTitle; If the property is expressed as an adjective, the format is: - (BOOL)isAdjective; - (void)setAdjective:(BOOL)flag; For example: - (BOOL)isEditable; - (void)setEditable:(BOOL)flag; If the property is expressed as a verb, the format is: - (BOOL)verbObject; - (void)setVerbObject:(BOOL)flag; For example: - (BOOL)showsAlpha; - (void)setShowsAlpha:(BOOL)flag; The verb should be in the simple present tense. Don’t twist a verb into an adjective by using a participle: - (void)setAcceptsGlyphInfo:(BOOL)flag; Right. - (BOOL)acceptsGlyphInfo; Right. - (void)setGlyphInfoAccepted:(BOOL)flag; Wrong. - (BOOL)glyphInfoAccepted; Wrong. You may use modal verbs (verbs preceded by “can”, “should”, “will”, and so on) to clarify meaning, but don’t use “do” or “does”. - (void)setCanHide:(BOOL)flag; Right. - (BOOL)canHide; Right. - (void)setShouldCloseDocument:(BOOL)flag; Right. - (BOOL)shouldCloseDocument; Right. - (void)setDoesAcceptGlyphInfo:(BOOL)flag; Wrong. - (BOOL)doesAcceptGlyphInfo; Wrong. Use “get” only for methods that return objects and values indirectly. You should use this form for methods only when multiple items need to be returned. - (void)getLineDash:(float *)pattern count:(int *)count phase:(float *)phase; NSBezierPath. In methods such as these, the implementation should accept NULL for these in–out parameters as an indication that the caller is not interested in one or more of the returned values. Delegate Methods Delegate methods (or delegation methods) are those that an object invokes in its delegate (if the delegate implements them) when certain events occur. They have a distinctive form, which apply equally to methods invoked in an object’s data source: Start the name by identifying the class of the object that’s sending the message: - (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(int)row; - (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename; The class name omits the prefix and the first letter is in lowercase. A colon is affixed to the class name (the argument is a reference to the delegating object) unless the method has only one argument, the sender. - (BOOL)applicationOpenUntitledFile:(NSApplication *)sender; An exception to this are methods that invoked as a result of a notification being posted. In this case, the sole argument is the notification object. - (void)windowDidChangeScreen:(NSNotification *)notification; Use “did” or “will” for methods that are invoked to notify the delegate that something has happened or is about to happen. - (void)browserDidScroll:(NSBrowser *)sender; - (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)window; Although you can use “did” or “will” for methods that are invoked to ask the delegate to do something on behalf of another object, “should” is preferred. - (BOOL)windowShouldClose:(id)sender; Collection Methods For objects that manage a collection of objects (each called an element of that collection), the convention is to have methods of the form: - (void)addElement:(elementType)anObj; - (void)removeElement:(elementType)anObj; - (NSArray *)elements; For example: - (void)addLayoutManager:(NSLayoutManager *)obj; - (void)removeLayoutManager:(NSLayoutManager *)obj; - (NSArray *)layoutManagers; The following are some qualifications and refinements to this guideline: If the collection is truly unordered, return an NSSet object rather than an NSArray object. If it’s important to insert elements into a specific location in the collection, use methods similar to the following instead of or in addition to the ones above: - (void)insertLayoutManager:(NSLayoutManager *)obj atIndex:(int)index; - (void)removeLayoutManagerAtIndex:(int)index; There are a couple of implementation details to keep in mind with collection methods: These methods typically imply ownership of the inserted objects, so the code that adds or inserts them must retain them, and the code that removes them must also release them. If the inserted objects need to have a pointer back to the main object, you do this (typically) with a set... method that sets the back pointer but does not retain. In the case of the insertLayoutManager:atIndex: method, the NSLayoutManager class does this in these methods: - (void)setTextStorage:(NSTextStorage *)textStorage; - (NSTextStorage *)textStorage; You would normally not call setTextStorage: directly, but might want to override it. Another example of the above conventions for collection methods comes from the NSWindow class: - (void)addChildWindow:(NSWindow *)childWin ordered:(NSWindowOrderingMode)place; - (void)removeChildWindow:(NSWindow *)childWin; - (NSArray *)childWindows; - (NSWindow *)parentWindow; - (void)setParentWindow:(NSWindow *)window; Method Arguments There are a few general rules concerning the names of method arguments: As with methods, arguments start with a lowercase letter and the first letter of successive words are capitalized (for example, removeObject:(id)anObject). Don’t use “pointer” or “ptr” in the name. Let the argument’s type rather than its name declare whether it’s a pointer. Avoid one- and two-letter names for arguments. Avoid abbreviations that save only a few letters. Traditionally (in Cocoa), the following keywords and arguments are used together: --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62d9791..09487e8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # md.md # lua:gist -# git@gist.github.com:513f350a093a85fc3395.git +# $~git@github.com:GistIcon/md.md.git From 58c8c13f1193b98f9680cb0e49e218ac2f9cc099 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Thu, 31 Dec 2015 17:00:09 +0700 Subject: [PATCH 02/15] Create .dirs --- md/.dirs | 1 + 1 file changed, 1 insertion(+) create mode 100644 md/.dirs diff --git a/md/.dirs b/md/.dirs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/md/.dirs @@ -0,0 +1 @@ + From 1fbc9da2c30bb6a5bfb1bdf28de6060c668d1a83 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Thu, 31 Dec 2015 19:44:30 +0700 Subject: [PATCH 03/15] Update LICENSE --- LICENSE | 1 - 1 file changed, 1 deletion(-) diff --git a/LICENSE b/LICENSE index 51a8b7d..9e36529 100644 --- a/LICENSE +++ b/LICENSE @@ -199,4 +199,3 @@ LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - From f00f972f084b497f2f27b435492b38fa97fa6b64 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 1 Jan 2016 11:27:17 +0700 Subject: [PATCH 04/15] Create .JSON --- md/li/.JSON | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 md/li/.JSON diff --git a/md/li/.JSON b/md/li/.JSON new file mode 100644 index 0000000..67fa76b --- /dev/null +++ b/md/li/.JSON @@ -0,0 +1,49 @@ + +import json +Consider the [kupret.inc](https://gist.github.com/9b8f97b54f493e1fa295.git). +import flask +import httplib2 + +from apiclient import discovery +from oauth2client import client + + +app = flask.Flask(__name__) + + +@app.route('/') +def index(): + if 'credentials' not in flask.session: + return flask.redirect(flask.url_for('oauth2callback')) + credentials = client.OAuth2Credentials.from_json(flask.session['credentials']) + if credentials.access_token_expired: + return flask.redirect(flask.url_for('oauth2callback')) + else: + http_auth = credentials.authorize(httplib2.Http()) + drive_service = discovery.build('drive', 'v2', http_auth) + files = drive_service.files().list().execute() + return json.dumps(files) + + +@app.route('/oauth2callback') +def oauth2callback(): + flow = client.flow_from_clientsecrets( + 'client_secrets.json', + scope='https://www.googleapis.com/auth/drive.metadata.readonly', + redirect_uri=flask.url_for('oauth2callback', _external=True), + include_granted_scopes=True) + if 'code' not in flask.request.args: + auth_uri = flow.step1_get_authorize_url() + return flask.redirect(auth_uri) + else: + auth_code = flask.request.args.get('code') + credentials = flow.step2_exchange(auth_code) + flask.session['credentials'] = credentials.to_json() + return flask.redirect(flask.url_for('index')) + + +if __name__ == '__main__': + import uuid + app.secret_key = str(uuid.uuid4()) + app.debug = False + app.run() From 614bd244516101db1ed62d518c9ad3fed2af39c0 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 1 Jan 2016 12:11:35 +0700 Subject: [PATCH 05/15] Create ,JSON credentials path [surprise](https://gist.github.com/1355cef8067c7a408920.git) --- credentials/,JSON | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 credentials/,JSON diff --git a/credentials/,JSON b/credentials/,JSON new file mode 100644 index 0000000..1de834f --- /dev/null +++ b/credentials/,JSON @@ -0,0 +1,37 @@ +# create a client object from the client_secrets.json file +# flow_from_clientsecrets function + +from oauth2client import client + +flow = client.flow_from_clientsecrets( + 'client_secrets.json', + scope='https://www.googleapis.com/auth/drive.metadata.readonly', + redirect_uri='urn:ietf:wg:oauth:2.0:oob') + +import json +import webbrowser + +import httplib2 + +from apiclient import discovery +from oauth2client import client + + +if __name__ == '__main__': + flow = client.flow_from_clientsecrets( + 'client_secrets.json', + scope='https://www.googleapis.com/auth/drive.metadata.readonly', + redirect_uri='urn:ietf:wg:oauth:2.0:oob') + + auth_uri = flow.step1_get_authorize_url() + webbrowser.open(auth_uri) + + auth_code = raw_input('Enter the auth code: ') + + credentials = flow.step2_exchange(auth_code) + http_auth = credentials.authorize(httplib2.Http()) + + drive_service = discovery.build('drive', 'v2', http_auth) + files = drive_service.files().list().execute() + for f in files['items']: + print f['title'] From ff1af9358794ae33648a7995fb0a17599c3f3af1 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 1 Jan 2016 23:06:49 +0700 Subject: [PATCH 06/15] Update .travis.yml --- md/.travis.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/md/.travis.yml b/md/.travis.yml index 56c1c0e..bedbb2d 100644 --- a/md/.travis.yml +++ b/md/.travis.yml @@ -23,4 +23,6 @@ rvm: - rbx # uncomment this line if your project needs to run something other than `rake`: # script: bundle exec rspec spec - +environment: + my_variable: + secure: QNOpwG+YKnvIjHTCEG3A8gOE0mv4TMMmFP/BniXoNwDBiB7mtXOYekDzXw9EXGQZ From a8fea32286118371e3b3a4c00b9527d908a04c17 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 2 Jan 2016 08:49:34 +0700 Subject: [PATCH 07/15] Create .md If you generated a User Pages site, the code lives in the master branch instead of the gh-pages branch, so just check out master and then pull --- .md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .md diff --git a/.md b/.md new file mode 100644 index 0000000..2bbbe01 --- /dev/null +++ b/.md @@ -0,0 +1,18 @@ +~ $ cd repository +~ $ git checkout master +Switched to branch 'master' +~ $ git pull origin master +remote: Counting objects: 92, done. +remote: Compressing objects: 100% (63/63), done. +remote: Total 68 (delta 41), reused 0 (delta 0) +Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done. +Resolving deltas: 100% (68/68), done. +From https://github.com/user/repo.git + * branch master -> FETCH_HEAD +Updating abc1234..def5678 +Fast-forward +index.html | 265 ++++ +... +98 files changed, 18123 insertions(+), 1 deletion(-) +create mode 100644 index.html +... From 9cc45005e09cec502db36b0f710fb6ec99742523 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 2 Jan 2016 09:02:18 +0700 Subject: [PATCH 08/15] Update .md --- .md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.md b/.md index 2bbbe01..d69087f 100644 --- a/.md +++ b/.md @@ -7,7 +7,7 @@ remote: Compressing objects: 100% (63/63), done. remote: Total 68 (delta 41), reused 0 (delta 0) Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done. Resolving deltas: 100% (68/68), done. -From https://github.com/user/repo.git +From https://github.com/usernamealreadyis/md.md.git * branch master -> FETCH_HEAD Updating abc1234..def5678 Fast-forward From eb4b7d055461cf8c09502e8e3750a291399a4586 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Sat, 2 Jan 2016 12:30:09 +0700 Subject: [PATCH 09/15] Delete .md --- .md | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 .md diff --git a/.md b/.md deleted file mode 100644 index d69087f..0000000 --- a/.md +++ /dev/null @@ -1,18 +0,0 @@ -~ $ cd repository -~ $ git checkout master -Switched to branch 'master' -~ $ git pull origin master -remote: Counting objects: 92, done. -remote: Compressing objects: 100% (63/63), done. -remote: Total 68 (delta 41), reused 0 (delta 0) -Receiving objects: 100% (424/424), 329.32 KiB | 178 KiB/s, done. -Resolving deltas: 100% (68/68), done. -From https://github.com/usernamealreadyis/md.md.git - * branch master -> FETCH_HEAD -Updating abc1234..def5678 -Fast-forward -index.html | 265 ++++ -... -98 files changed, 18123 insertions(+), 1 deletion(-) -create mode 100644 index.html -... From a41f831aac6a10bdffe6e7edf67b6e6992912191 Mon Sep 17 00:00:00 2001 From: Bitdeli Chef Date: Fri, 8 Jan 2016 05:45:35 +0000 Subject: [PATCH 10/15] Add a Bitdeli badge to README --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 09487e8..534e3ee 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ # md.md # lua:gist # $~git@github.com:GistIcon/md.md.git + + +[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/usernamealreadyis/md.md/trend.png)](https://bitdeli.com/free "Bitdeli Badge") + From 68f18e97db6009cbd8105c9846085b079af5c901 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 8 Jan 2016 13:23:57 +0700 Subject: [PATCH 11/15] Create .pem Set the name which is used in verification of hostname. If SSL_verifycn_scheme is set and no SSL_verifycn_name is given it will try to use SSL_hostname or PeerHost and PeerAddr settings and fail if no name can be determined. If SSL_verifycn_scheme is not set it will use a default scheme and warn if it cannot determine a hostname, but it will not fail. Using PeerHost or PeerAddr works only if you create the connection directly with IO::Socket::SSL->new, if an IO::Socket::INET object is upgraded with start_SSL the name has to be given in SSL_verifycn_name or SSL_hostname. --- .csr/.md/.pem | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .csr/.md/.pem diff --git a/.csr/.md/.pem b/.csr/.md/.pem new file mode 100644 index 0000000..2784312 --- /dev/null +++ b/.csr/.md/.pem @@ -0,0 +1,16 @@ + -----BEGIN RSA PRIVATE KEY----- + MIICjjCCAXYCAQAwSTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUp1bmVjbG91ZCBM +TEMxIjAgBgNVBAMTGUtvcGxhayBMTEMgU2lnbmF0dXJlIDIwMTQwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMoWeDSnx0iXjjtI7WMqoAxngxBjCPLAcH +rqO6cyD0o9652WER9A424N/G1qyAxHt4NmXeRffxyQi7xhpPU0IHRySrZ9Ki2BqM +M1cCQU0xmKWYYTx1juD11Cw33t6FiD4cMUtuosbRxG4UqIkmUpl0xE3HtUGFprpD +itocYmQm4HgTW1rapIVpgaTF5oQMGAFK+/QEa6Cb2DdXH7Ru1KvDuzrhx8ZXx2Yw +nlrt9pL8zE8UPaQuLfklAuuRYkcPXG1CrI+KLmtB81H16j0AdXGR2EV/h2ALQEey +PMVz8vumeUJnulrw/LtdPlZ+QCHixa66NNOftFfhxqf95x7lp9xtAgMBAAGgADAN +BgkqhkiG9w0BAQUFAAOCAQEApzINaRsLx8QT6Rm0ssYIW9EGwOUVrmTKFG5WG/on +lMWgzHm3V8757kyhDp0mwbSnS7QI5CztBxwhVjyy8U1Cwo3Wi6xuZHviyyz2cA4n +llQ1JHM9F7qbAjk7NmGzBgOHfQrkoMsS/B4B+AF2in9dyBAVENOmQl3b9Fy3wz1g +x7u1dhDtDyewwHaZr0tlMIV+DTFLX+/quTQs2grwJO4oCU9CqKU/3Y4wecCBX4xc +50gXYRkwdPtquS7iMCrISjeznSpicm5NCbP3/R9vXl0TZK4+ZwEKzcGM3pMVFlbI +Bx9YjbcgucjOEaVHc5UIBcrsB+KAfeZQdgTPCXmuBnsX+g== + -----END RSA PRIVATE KEY----- From a5b38d272238bf10bd7fe0b41cbc88c1ec6fce56 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 15 Jan 2016 20:20:19 +0700 Subject: [PATCH 12/15] mixpanel-php.php commit: 08f990f fix: 08f990f --- credentials/mixpanel-php.php | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 credentials/mixpanel-php.php diff --git a/credentials/mixpanel-php.php b/credentials/mixpanel-php.php new file mode 100644 index 0000000..359c1b4 --- /dev/null +++ b/credentials/mixpanel-php.php @@ -0,0 +1,5 @@ +"require": { + ... + "mixpanel/mixpanel-php" : "2.*" + ... +} From e6727186488cda6b1e852b22716be84594e3d783 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Fri, 15 Jan 2016 20:29:12 +0700 Subject: [PATCH 13/15] event.php Track events in the mixpanel-php library by using the track method on the Mixpanel class: --- credentials/event.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 credentials/event.php diff --git a/credentials/event.php b/credentials/event.php new file mode 100644 index 0000000..0b3b46f --- /dev/null +++ b/credentials/event.php @@ -0,0 +1,12 @@ +track("button clicked", array("label" => "sign-up")); From 16eab2f874bea467fbcc2baaa38f98dc4d844e16 Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 03:07:03 +0700 Subject: [PATCH 14/15] README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To get musical symbols you need 32-bit Unicode support. Emoji are scattered all over the map, not collected togethir in a block the way everything else is. In Java, you get at the exotic characters by encoding them in hex in your strings like this: \u00f7\u2713 to produce ÷ ✓. See String literals for more details. In HTML (Hypertext Markup Language), you get at the exotic characters by encoding them as entities such as ÷✓ to produce ÷ ✓. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 534e3ee..1a42885 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,4 @@ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/usernamealreadyis/md.md/trend.png)](https://bitdeli.com/free "Bitdeli Badge") +'\uf000': '\u00a9' From 35f6c5e29313706b6fbdd57925e3c1861fac916d Mon Sep 17 00:00:00 2001 From: usernamealreadyis Date: Wed, 3 Feb 2016 09:44:18 +0700 Subject: [PATCH 15/15] rdf.JSON # Usage >Paste some source RDF into the text area, select the format (Turtle, RDF/XML and N-triple are supported) and click As JSON to get the >translated version. The translation includes a wrapper object giving the format version information and a context object to enable round tripping. >The translated RDF is in the results array. --- api/rdf.JSON | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 api/rdf.JSON diff --git a/api/rdf.JSON b/api/rdf.JSON new file mode 100644 index 0000000..8be257e --- /dev/null +++ b/api/rdf.JSON @@ -0,0 +1,8 @@ +{ + "format":"linked-data-api", + "version":"0.0", + "results":[ + { ... RDF is here ... } + ], + "context":{ ... } +}