www-content/pages/docs.txt

161 lines
5.5 KiB
Plaintext
Executable File

~~Title: Documentation~~
{{page>start-shortcuts}}
==== Enlightenment and EFL Developer Documentation ====
Enlightenment has developed from a window manager into a set of libraries
that support a large number of exciting applications.
Aimed primarily at slick graphical presentation and optimal runtime we
created the Enlightenment Foundation Libraries and have created the following
documentation to help everyone get involved - thanks for stopping by.
<columns 100% 33% - 33% ->
====Getting Started====
If you are going to use EFL, we encourage you to actually work with
EFL from [[https://git.enlightenment.org|git]] mostly because it allows
you to either track stable branches to get latest fixes long before a
release is out, or to track latest features and development
continually. This is also the case if you want to contribute. Of
course you can use stable packages for your distribution as well.
=== Getting EFL ===
* [[docs-efl-start|Get EFL installed from source]]
* [[distros/ubuntu-start|EFL on Ubuntu]]
* [[distros/archlinux-start|EFL on Arch Linux]]
* [[distros/debian-start|EFL on Debian]]
* [[distros/fedora-start|EFL on Fedora]]
* [[distros/freebsd-start|EFL on FreeBSD]]
* [[distros/opensuse-start|EFL on openSUSE]]
* [[distros/yocto-start|EFL on Yocto]]
* [[distros/osx-start|EFL on Mac OS X]]
Go check the current available version of EFL on each distro/platform:
[[https://phab.enlightenment.org/w/packaging_status/|Table of current version of EFL]]
=== Working with Code ===
* [[docs/c/start|A basic primer on C]]
<newcolumn>
====EFL Documentation====
The EFL is currently undergoing a significant redesign to give a better
developer experience when building apps using our platform.
For now we recommend using the stable API and it's Bindings.
=== Working with EFL ===
* [[docs/efl/start|Get started with EFL]]
* [[docs/efl/advanced/start|Advanced EFL Topics]]
=== Stable API ===
* [[https://docs.enlightenment.org/efl/current|C (our main language)]]
* [[https://docs.enlightenment.org/python-efl/current|Python Bindings]]
=== Beta API using EO ===
* [[docs/efl/auto/reference|EFL EO API documentation (C)]]
<newcolumn>
====Contributing====
We are really excited that you would like to get involved in EFL and
Enlightenment development! If you followed the instructions in
"Getting Started" then you are most of the way to being part of the team.
To start with it's easiest to see which area you would like to work on and
get involved in bug reporting or fixing. From there you can get to know the
team, how we work, and earn a place on the team as a core developer :)
=== Feedback ===
* [[debugging/report_bugs|Report bugs on Phabricator]]
* [[contact/arcanist|Submit patch on Phabricator]]
=== Debugging ===
* [[docs-efl-debug|Debugging (generic) - EFL and Enlightenment]]
* [[debugging/enlightenment_debugging|Enlightenment specific debugging]]
* [[debugging/apps_efl_debugging|EFL application debugging]]
* [[debugging/remote_debugging|Remote Debugging]]
=== Coding ===
* [[https://phab.enlightenment.org/w/ecoding/|EFL Coding Style]]
* [[https://phab.enlightenment.org/w/git_practices/|Git Practices]]
</columns>
----
That's it for the basics - hopefully you are now up and running with
the EFL (and perhaps Enlightenment too!) and looking to learn more.
Here is a collection of guides and tutorials to help you get deeper into
working with our libraries and building great apps.
Be sure to [[contact]] to show what youve built!
<columns 100% 33% - 33% ->
==== Programming Guide ====
* [[program_guide/basic_application_structure_pg|Basic Application structure]]
* [[program_guide/eina_pg|Eina]]
* [[program_guide/connectivity_pg|Connectivity]]
* [[program_guide/main_loop_pg|Main Loop]]
* [[program_guide/threading_pg|Threading]]
* [[program_guide/evas_pg|Evas]]
* [[program_guide/edje_pg|Edje]]
* [[program_guide/event_effect_pg|Event and Effect]]
* [[program_guide/containers_pg|Containers]]
* [[program_guide/widgets_pg|Widgets]]
* [[program_guide/focus_ui_pg|Managing UI Component Focus]]
* [[program_guide/customizing_ui_pg|Customizing UI Components]]
* [[program_guide/scalability_pg|Scalability]]
* [[program_guide/multilingual_pg|Multilingual]]
* [[program_guide/evasgl_pg|Evas GL]]
<newcolumn>
==== Tutorials ====
* [[tutorial/basic_tutorial|Basic Tutorial]]
* [[tutorial/genlist_tutorial|Genlist Tutorial]]
* [[tutorial/panes_tutorial|Panes Tutorial]]
* [[tutorial/form_tutorial|Form Tutorial]]
* [[tutorial/menu_tutorial|Menu Tutorial]]
* [[tutorial/naviframe_tutorial|Naviframe Tutorial]]
* [[tutorial/popup_tutorial|Popup Tutorial]]
* [[tutorial/gl_2d_tutorial|GL 2D Tutorial]]
* [[tutorial/preference_tutorial|Preference Tutorial]]
* [[tutorial/effects_tutorial|Effects Tutorial]]
* [[tutorial/multimedia_tutorial|Multimedia Tutorial]]
* [[tutorial/javascript_tutorial|JavaScript Tutorial]]
=== Samples ===
* [[samples/elm_min_size_control|Controlling Minimum Size of Widgets]]
<newcolumn>
==== Themes / Edje / EDC ====
A core part of Enlightenment and EFL is the design/theme abstraction layer. This is handled by the Edje library and a series of tools that can compile/package up theme files and compress them, decompile them, and even provide some GUI editors too.
* [[about-eflete|Eflete]] - GUI Theme design tool
* [[about-enventor|Enventor]] GUI Edje file design tool
* [[themes/start|Getting started]] with Edje and themes at the EDC file level
* [[themes/knob_example|Edje theme example]] A knob theme for the Elementary slider widget
</columns>