{"id":16847640,"url":"https://github.com/fabiosantoscode/ink.js","last_synced_at":"2025-03-18T07:17:41.816Z","repository":{"id":9793709,"uuid":"11770372","full_name":"fabiosantoscode/Ink.js","owner":"fabiosantoscode","description":"Ink JavaScript core library ","archived":false,"fork":false,"pushed_at":"2013-09-16T18:41:21.000Z","size":3306,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-17T22:44:52.433Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabiosantoscode.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-07-30T16:59:01.000Z","updated_at":"2014-02-06T09:26:08.000Z","dependencies_parsed_at":"2022-09-10T01:30:47.440Z","dependency_job_id":null,"html_url":"https://github.com/fabiosantoscode/Ink.js","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiosantoscode%2FInk.js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiosantoscode%2FInk.js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiosantoscode%2FInk.js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabiosantoscode%2FInk.js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabiosantoscode","download_url":"https://codeload.github.com/fabiosantoscode/Ink.js/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244173553,"owners_count":20410300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T13:08:36.681Z","updated_at":"2025-03-18T07:17:41.794Z","avatar_url":"https://github.com/fabiosantoscode.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IMPORTANT NOTICE\n\n__The Ink.js repository was merged into [https://github.com/sapo/Ink/](sapo/Ink), and placed in a subfolder. We will no longer be accepting pull requests or responding to issues on this repo.__\n\n\n--------\n\nThe old README.md follows:\n\n\n# Ink.js \n\n[Ink](http://ink.sapo.pt/) comes with a collection of [UI components](http://ink.sapo.pt/js/ui/) out of the box. \nThese components depend on [Ink's JavaScript core](http://ink.sapo.pt/js/core/), which provides a set of methods and modules that give developers the ability to extend the features of the framework.\n\nDocumentation for Ink's JavaScript core comes in two flavours, a simpler version to get you up and running as quickly as possible, and a more technical in depth version for when you want to go beyond our examples, these can be found at http://ink.sapo.pt/js/core/ and http://js.ink.sapo.pt/docs/ respectively.\n \nThis repo provides you with information on how Ink's JavaScript core is organised.\n \nIt all starts with __Ink__, from there you will find our main module, __the core__, and all of the relevant namespaces.\n\n## Organization\n\n* Ink/ - It's where you can find all the source code \n\n## Ink Namespaces \n * Dom - provides modules to work with DOM and Events \n * Net - provides communication modules to make AJAX requests or JsonP\n * Util - provides utility modules \n * UI - Where all [UI modules](http://ink.sapo.pt/js/ui) are made \n\nA global variable named __Ink__ provides the methods to create and load all of the modules. \n \nNamespaces and modules mirror the structure of the filesystem keeping everything coordinated and where you'd expect it to be.\n \nThe __lib.js__ file is in a numbered directory to prevent collisions, this way different versions of the same module in the same page will not break any existing code, the following sections show how to avoid collisions altogether.\n\nEx: \n* /Ink/1/ exposes `window.Ink` \n* /Ink/Dom/Element/1/ exposes `Ink.Dom.Element` and `Ink.Dom.Element_1` with methods to manipulate DOM \n* /Ink/Dom/Event/1/ exposes `Ink.Dom.Event` and `Ink.Dom.Event_1` with methods to manipulate Events\n* /Ink/Net/Ajax/1/ exposes `Ink.Net.Ajax` and `Ink.Net.Ajax_1` to make AJAX requests \n\n## Using modules \n \nThere may be times when you need to use an older version of a component in the same instance that a newer one has been loaded. Ink provides a couple of methods that mitigate problems involving namespace collisions when loading modules, namely:\n`Ink.requireModule()` - request a module if it's not loaded yet\n`Ink.getModule()` - return a module that has already been loaded\n\nEx: \n```javascript\nInk.requireModules(['Ink.Namespace.ModuleName_version'], function(ModuleName) {\n    ModuleName.moduleMethod('arg1', 'arg2');\n});\n```\n\nor \n\n```javascript\nvar ModuleName = Ink.getModule('Ink.Namespace.ModuleName', version);\nModuleName.moduleMethod('arg1', 'arg2');\n```\n\n\n## Creating modules \nTake a look at our samples on __/Ink/Namespace/ClassModule/__ and __/Ink/Namespace/StaticModule/__\nIn a simple explanation its: \n```javascript\nInk.createModule(\n    'Ink.Namespace.ModuleName', \n    'version', \n    ['Ink_Namespace_Dependency1_version', 'Ink_Namespace_Dependency2_version'], \n    function(Dependency1, Dependency2) {\n        var ModuleName = {\n            // __...your code here...__\n        };\n\n        return ModuleName;\n    }\n);\n```\n\n\n\n## Other important files on the repo: \n* Makefile - Running \"make all\" will minify all modules, create bundles (in builds directory) and documentation files (in docs directory) \n* builds - It's the place where bundles are created (ink-v.v.v.js, ink-all.v.v.v.js and ink-ui.v.v.v.js) \n* serverUtils - The place with node.js scripts and config files to run make \n\n\n# Install Ink.js on your machine - How To\n\n## Requirements\n\n* makefile\n* node.js    http://nodejs.org/\n* java (jenkins ci)\n\n\n\n## Install\n\n    [sudo] npm -g install yuidocjs\n    [sudo] npm -g install plato\n    npm install uglify-js\n    npm install async\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiosantoscode%2Fink.js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabiosantoscode%2Fink.js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabiosantoscode%2Fink.js/lists"}