Repository: h5bp/movethewebforward
Branch: master
Commit: d951c860393c
Files: 44
Total size: 1.1 MB
Directory structure:
gitextract_1azawqnk/
├── .gitattributes
├── .gitignore
├── .htaccess
├── 404.html
├── README.md
├── ar/
│ ├── ar.css
│ └── index.html
├── avatars.php
├── build/
│ ├── build.xml
│ ├── config/
│ │ ├── default.properties
│ │ ├── manifest.appcache
│ │ └── project.properties
│ ├── createproject.sh
│ ├── project.xml
│ ├── runbuildscript.bat
│ └── tools/
│ ├── ant-contrib-1.0b3.jar
│ ├── closure-compiler-v1346.jar
│ ├── csslint-rhino.js
│ ├── fulljshint.js
│ ├── fulljslint.js
│ ├── htmlcompressor-1.4.3.jar
│ ├── optipng-0.6.4-exe/
│ │ └── LICENSE.txt
│ ├── rhino.jar
│ └── yuicompressor-2.4.5.jar
├── cn/
│ └── index.html
├── combine.php
├── crossdomain.xml
├── css/
│ ├── fonts.css
│ ├── img/
│ │ └── .gitignore
│ └── style.css
├── humans.txt
├── index.html
├── js/
│ ├── controller.js
│ ├── init.js
│ ├── libs/
│ │ ├── fittext.js
│ │ ├── respond.js
│ │ └── storage.js
│ ├── mylibs/
│ │ ├── .gitignore
│ │ └── touch.js
│ └── plugins.js
├── pt-br/
│ └── index.html
├── pull.sh
├── push.sh
└── robots.txt
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* text=auto
================================================
FILE: .gitignore
================================================
# Numerous always-ignore extensions
*.diff
*.err
*.orig
*.log
*.rej
*.swo
*.swp
*.vi
*~
*.sass-cache
# OS or Editor folders
.DS_Store
Thumbs.db
.cache
.project
.settings
.tmproj
*.esproj
nbproject
*.sublime-project
*.sublime-workspace
# Dreamweaver added files
_notes
dwsync.xml
# Komodo
*.komodoproject
.komodotools
# Folders to ignore
.hg
.svn
.CVS
intermediate
publish
.idea
# build script local files
build/buildinfo.properties
build/config/buildinfo.properties
================================================
FILE: .htaccess
================================================
# dear h5bp htaccess file,
# i love you.
# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------
# Force the latest IE version, in various cases when it may fall back to IE7 mode
# github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk
Header set X-UA-Compatible "IE=Edge,chrome=1"
# mod_headers can't match by content-type, but we don't want to send this header on *everything*...
Header unset X-UA-Compatible
# ----------------------------------------------------------------------
# Cross-domain AJAX requests
# ----------------------------------------------------------------------
# Serve cross-domain Ajax requests, disabled by default.
# enable-cors.org
# code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
#
# Header set Access-Control-Allow-Origin "*"
#
# ----------------------------------------------------------------------
# CORS-enabled images (@crossorigin)
# ----------------------------------------------------------------------
# Send CORS headers if browsers request them; enabled by default for images.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute
# mod_headers, y u no match by Content-Type?!
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
# ----------------------------------------------------------------------
# Webfont access
# ----------------------------------------------------------------------
# Allow access from all domains for webfonts.
# Alternatively you could only whitelist your
# subdomains like "subdomain.example.com".
Header set Access-Control-Allow-Origin "*"
# ----------------------------------------------------------------------
# Proper MIME type for all files
# ----------------------------------------------------------------------
# JavaScript
# Normalize to standard type (it's sniffed in IE anyways)
# tools.ietf.org/html/rfc4329#section-7.2
AddType application/javascript js
# Audio
AddType audio/ogg oga ogg
AddType audio/mp4 m4a
# Video
AddType video/ogg ogv
AddType video/mp4 mp4 m4v
AddType video/webm webm
# SVG
# Required for svg webfonts on iPad
# twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# Webfonts
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttf ttc
AddType font/opentype otf
AddType application/x-font-woff woff
# Assorted types
AddType image/x-icon ico
AddType image/webp webp
AddType text/cache-manifest appcache manifest
AddType text/x-component htc
AddType application/x-chrome-extension crx
AddType application/x-opera-extension oex
AddType application/x-xpinstall xpi
AddType application/octet-stream safariextz
AddType application/x-web-app-manifest+json webapp
AddType text/x-vcard vcf
# ----------------------------------------------------------------------
# Allow concatenation from within specific js and css files
# ----------------------------------------------------------------------
# e.g. Inside of script.combined.js you could have
#
#
# and they would be included into this single file.
# This is not in use in the boilerplate as it stands. You may
# choose to name your files in this way for this advantage or
# concatenate and minify them manually.
# Disabled by default.
#
# Options +Includes
# AddOutputFilterByType INCLUDES application/javascript application/json
# SetOutputFilter INCLUDES
#
#
# Options +Includes
# AddOutputFilterByType INCLUDES text/css
# SetOutputFilter INCLUDES
#
# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------
# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
FilterProvider COMPRESS DEFLATE resp=Content-Type $image/x-icon
FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
FilterChain COMPRESS
FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
# Legacy versions of Apache
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------
# These are pretty far-future expires headers.
# They assume you control versioning with cachebusting query params like
#
إدفع الويب إلى الأمام
يمكنك أن تجعل الويب رائع كما تحب أن يكون
تحب معايير الويب – وتريد أن تشارك فى مجتمع الويب. وتريد أن تعرف من أين تبدأ؟ نحن هنا لمساعدتك
سواء كنت مطور مواقع موهوب تبنى مواقع منذ بداية ظهور الويب, أو أنك هاوى تستمتع بتطوير بعض المواقع, فإنك تستجد هنا طرق تمكنك من المشاركة فى مجتمع الويب. فى الأسفل, وضعنا طرق كثيرة تمكنك من المشاركة.
هدفنا أن نجعل من السهل لأى شخص أن يبدأ فى المشاركة فى مجتمع الويب, إما بالمعرفة أكثر حول طريقة عمل الويب, أو أن يتعلم من الأخرين أو يعلمهم. الويب تطور بفضل أشخاصاً مثلك, ونحن نريد أن نجعل من السهل لك أيضا أن تشارك.
إرتقي بمستواك
عندما تعمل شئ تكون جيداً فيه. إذاً تعال نغوص فى مجتمع الويب
تعلّم
أحد الأشياء الرائعة عن الويب هي انه يتغير بإستمرار. ولربما كان هذا التغيير شاسع ومن الصعب إدراكه, فنحن هنا لنساعدك على اللحاق بهذه التغيرات وعلى فهمها - هنا ستجد مصادر كثيرة تساعدك على معرفة كيف تعمل برامج تصفح الأنترنت, وتساعدك على أن تكون على علم دائم بالتطورات والتغيرات التى تحدث فى هذة المتصفحات.
كيف أكون على علم دائم بالجديد فى هذة المتصفحات؟
من الجيد متابعة الحسابات الأتية
(Opera developer relations) @oDevRel
(Chrome developer relations) @ChromiumDev
(Mozilla's web developer outpost) @mozhacks
(Internet Explorer Team) @IE
كيف أعرف طريقة عمل المتصفح؟
مصادر تعليمية أخرى
مراجع وموسوعات
إكتساب الخبرة؟
كل ما فى الأمر هو قراءة بعض المقالات والتغريدات لتكتسب الخبرة, ثق بنا حيثما بدأت ستجد أن الأمر يصبح أسهل.
نعم, أريد البدء
هؤلاء بعض من قرروا البدء أيضا:
قابل مطورون أخرون
حضور المقابلات والمؤتمرات المحلية فرصة جيدة لمقابلة المطوريين الأخرين ولمشاركة الأفكار والخبرات معهم,
مواقع مثل
WhatIsUpStartups
ستساعدك فى معرفة الأحداث والمؤتمرات القريبة منك.
يد المساعدة
كلنا وصلنا إلى ما وصلنا إلية بالإعتماد على بعضنا. لا تكن خجولا, وأسال عما تريد. ولكن تذكر ان تقوم بعمل jsfiddle.
نعم, سأفعل
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
تعمق أكثر
تعرف طريقك بوضوح. إذا هذا هو الوقت لتبدأ بالعمل
ساعد الأخرين
نحن جميعا نستفيد من بعضنا ونحتاج المساعدة من وقت إلى أخر, ومساعدة الأخرين تعمل على تثبيت المعلومات لديك,
وتزيد من إدراكك وفهمك للتقنيات المختلفة.
فى الأسفل ستجد مشاريع مفتوحة تحتاج إلى مساعدتك. تذكر ليس هناك مساهمة صغيرة, بل كل مساهمة لها قيمة.
مشاريع مفتوحة المصدر تحتاج إلى وقتك
- HTML5 Boilerplate - مشروع يساعدك على تطوير موقعك باستخدام افضل الممارسات.
- jQuery Learning Site - موقع تعليمى لمكتبة جافاسكريبت المشهورة jQuery.
- jQuery Mobile - افضل الممارسات عن البرمجة للهواتف النقالة
- Modernizr - مشروع يساعدك على الكشف عن التقنيات التى يدعمها المتصفح قبل تطبيقها.
- Bootstrap - سجادة عمل لكل من HTML و CSS و JS تساعدك على بناء تطبيقات الويب بسرعة – مقدمة من تويتر.
- Normalize.css - مشروع لجعل كل المتصفحات تعرض مواقع الانترنت بنفس الطريقة.
- Dojo - سجادة عمل شاملة لتطوير تطبيقات الويب والهواتف النقالة.
- Lazyweb requests - ادوات وحلول من الرائع ان يمتلكها مطورى الويب.
قم بإتباع خطوات ’طلب المساعدة‘ فى الأعلى وألق نظرة على بودكاست Addy Osmani عن كيفية المشاركة !
شارك بخبرتك
قراءة الكود العالى المستوى تؤدى إلى كتابة كود عالى المستوى, تصفح كود المشاريع الموضوعة هنا, وساعد على تطويرهم وجعلهم أفضل.
نعم, سأفعل ذلك
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
أرسل تعليقاتك على المواصفات
المواصفات specifications (وهى عبارة عن وصف دقيق لما ينبغى ان تكون علية التقنية او لغة البرمجة وكيف يتم استخدامها) تحدد وتنظم طريقة الأستخدام,
ويتم وضعها من قبل فريق عمل Working Groups -WG من خلال محادثات مكثفة عن طريق البريد الإلكترونى.
ولكن يبقى الإحتمال ان تقوم شركات متصفحات الويب بإنتاج متصفحات لا تتبع هذة المواصفات,
وعندها يجب ان نقف نحن المطوريين ضد هذة البرامج ونقوم بإرسال feedback بكل خطأ نجدة فى هذة البرامج.
- تعرف على تاريخ الإنترنت.
- إلقى نظرة على كيفية عمل مجموعات ال CSS.
- إشترك فى هذة القوائم البريدية لتتابع المشاركات والمناقشات التى تقود الويب:
- public-webapps - مناقشات تقنية عن تطوير تطبيقات الويب
- www-style - مناقشات تقنية عن ال CSS
- whatwg - القائمة البريدية ل Web Hypertext Application Technology Working Group
- public-html - مناقشات تقنية حول HTML
- www-dom - مناقشات تقنية عن ال DOM
- public-fx - مناقشات حول القضايا التى توثر على ال CSS و SVG
- إقرأ HTML5 Spec for developers تم حذف ما لا يهم المطورين وتم تصميمها بطريقة جميلة
- أسهل طريقة لترسل تعليق او تبلغ عن خطا فى HTML specification هى أن تقوم بتحديد الجزء الذى تريد ان تبلغ عنة ثم تكتب تعليقك فى الشريط اسفل الصفحة.
-
تعرف على أخر القضايا حول ال HTML و CSS عن طريق متابعة الحسابات الاتية
هل ستساهم؟
نحن الذين نستخدم المواصفات,
فلماذا لا نساعد على عمل المواصفات التى نحب؟
دعنا نجعلها أفضل مما هى علية الأن.
نعم, سأفعل ذلك.
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
إكتشف الإمكانيات الجديدة
إذا كنت قد تعلمت الأساسيات,
فهذا هو الوقت لتتعمق أكثر.
هنا سوف نتعرف على Advanced CSS و الامكانيات الجديدة فى HTML ومستقبل هذة التقنيات.
العديد من الأمكانيات متوفر دعمها الأن فى متصفحات الويب
وإكتشاف هذة الإمكانيات والمميزات يساعدنا على دفع الويب إلى الأمام.
أمثلة على أفضل الطرق للتعرف على الإمكانيات الجديدة
مميزات رائعة لتكتشفها ( وربما تكتب عنها )
المتصفحات تضيف مميزات CSS دائما.
ونحن نكره الأوامر الخاصة بكل متصفح vendor prefixes لذلك نرسل تعليقاتنا عليها دائما وأنها لا تناسب عملنا.
لذلك تشجع ان تجرب كل ميزه جديدة وترسل تعليقك عليها.
وهذة نظرة على vendor-prefixed CSS property,
كتبها Peter Beverloo, وفيها العديد من اوامر ال CSS التى تحت التجربة - وكثير منها ليست معروفة وليست مفهومة عند الكثير.
يمكنك الكتابة عنها لتعلمها وتبسطها للمطوريين الاخرين - وهناك خواص أخرى مثل:
إكتشف المجهول
الطريقة الوحيدة لدفع الويب إلى الأمام هى تعلم التقنيات المتقدمة ومن ثم إستخدامها.
وستستمتع بتعلم هذة التقنيات كثيراً.
نعم سأفعل ذلك
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
أكتب
أنشر ما تعلمتة ولا تخف من إرتكاب الأخطاء.
أنشر على مدونتك و أحرص على ان تكون مقالاتك محدثة دائما.
وقم بعمل مناقشات مع قراء مدونتك وعلمهم وتعلم منهم.
تعليم الناس هو طريقة جيدة للتعلم ولتثبيت المعلومات.
لذلك فأنت تستفيد انت ايضا عندما تعلم الناس
ما الذى يجب ان تكتب عنة؟
أشياء يمكن ان تعلمها للناس: هنا ستجد أفكار جيدة
- لماذا وُجدت هذة التاج
<br> و <hr>؟
- كيف تقوم بعمل slideshow بأقل قدر ممكن من الكود ؟
- ما هو ال DOM ؟ ولماذا وُجد ؟
- أنظر كيف يقوم المتصفح بتطبيق أى واحدة من ال CSS property , وقارن هذا مع ال CSS specifications
- كيف تقوم المواقع المشهورة بعمل صفحتها الرئيسية .
- كيف يمكنك إصلاح أحد أخطاء المواقع الكبيرة (مثل: وقت كبير فى التحميل - خطا فى الجافاسكربت - او أخرى )
- خذ Demo مشهورة و أشرحها بطريقة مختلفة او اشرحها هى نفسها
- قم بعمل تلخيص للأفكار التى تدور فى الويب مؤخراً.
- أكتب عن خبرتك فى المشاريع المفتوحة المصدر.
- كيف يمكن لل
CSS preprocessor
أن تؤدى إلى اخطاء فى الكود, إذا لم يتم التعامل معها بطريقة صحيحة
- إذا كانت لغتك الأم غير الإنجليزية:
- ترجم بعض المقالات المهمة والمشهورة عن تطوير وبرمجة الويب.
- وضح الأشياء الغامضة او الغير معروفة فى ال specifications
أكتب
ولا تلتفت إلى عدد القراء او عدد المتابعين لك على تويتر - قدم ما تعلمتة وسيكون هناك من يستفيد
نعم, سأفعل ذلك
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
بلغ عن الأخطاء
يجب على شركات المتصفحات أن تعالج أخطاء المتصفحات بجدية اكثر, وعلينا ان نساعدهم فى ذلك.
إقضى على مشاكل المتصفحات
هذة هى أسرع طريقة لتحسيين اداء المتصفحات -
عن طريق التبليغ عن المشاكل وحلها.
هذة العملية لا تستغرق بضع دقائق, ويمكن لأى شخص القيام بها.
نعم, سأشارك فى ذلك
هنا بعض المطوريين الذين قرروا فعل ذلك أيضا:
مبدع!
لديك خبرة طويلة, وأنت الأن محترف فى تقنيات الويب - إذا دعنا نقترح عليك بعض الأشياء
إدفع الويب إلى أقصى حدودة.
هاك على CSS او advanced HTML او JavaScript
او the browser's rendering engine.
ادخل على مواقع مثل github
, اختر مشروع وتفحص الكود جيدا وتعلم منة ثم ضع لمستك انت.
هيا نجعل الويب مكان رائع - هناك طرق كثيره لفعل ذلك:
ساهم فى تطوير المتصفحات
الإختبارات هى شئ أساسى عند وضع معايير الويب وتطوير المتصفحات.
ومن خلالها نتأكد من تعامل المتصفحات مع التقنيات بنفس الطريقة ام كل متصفح مختلف عن الأخر.
حالياً, سلاسل إختبارات W3C ليس لديها إختبارات بالقدر التى تحتاجة.
هذة الإختبارات تكتب بلغات تطوير الويب الأساسية HTML و CSS و JS.
ساهم فى المواصفات specifications